2,860
社区成员




请问一下,这个tutorial_for_llama3的step2的 官方代码中,下列三个参数的意义,区别
self.ARNs = [1,64]
self.EXPORT_AR = 2073
self.EXPORT_CONTEXT_LENGTH = 4096
class QairtCompile(BaseModelCompile):
"""Class containing implementation for the Step 2 notebook."""
#Hardware Configs
nsp_target = NspTargets.Android.GEN2
#Model Configs
proc_env = os.environ.copy()
def __init__(self, model_config=None):
logging_util.setup_logging()
self.soc_id = self.nsp_target.soc_id
self.dsp_arch = self.nsp_target.dsp_arch
self.go_parallel = True
self._notebook_config = notebookconfig.get_config("notebookconfig.json")
self.QNN_SDK_ROOT = str(self._notebook_config.qnn_sdk_path)
self.workfolder = str(self._notebook_config.export_dir)
self.LLAMA_MODELS = self.workfolder + "/models"
assert os.path.exists(self.QNN_SDK_ROOT) == True,"QNN_SDK_ROOT path does not exist"
assert os.path.exists(self.LLAMA_MODELS) == True,"LLAMA_MODELS path does not exist"
self.mha2sha_root = os.getcwd()+"/../../../common/G2G/MHA2SHA"
self.qnn_env = os.environ.copy()
self.g2g_env = os.environ.copy()
self._model_config = model_config if model_config else modelconfig.ModelConfig()
self.CL = self._model_config.hyperparameter_config.context_length
self.ARNs = [1,64]
self.EXPORT_AR = 2073
self.EXPORT_CONTEXT_LENGTH = 4096
以下是对 self.ARNs
、self.EXPORT_AR
和 self.EXPORT_CONTEXT_LENGTH
这三个参数意义及区别的详细分析:
self.ARNs = [1, 64]
ARNs
通常代表某个比率(可能是注意力比率或者其他相关比率)的范围。这里 [1, 64]
表明这个比率的取值范围是从 1 到 64。在深度学习模型的编译或者优化过程中,可能会在这个范围内尝试不同的比率值,以找到最适合硬件或者模型性能的参数。self.EXPORT_AR = 2073
EXPORT_AR
可能是一个特定的导出比率(Export Ratio)。这个值是一个固定的比率,在模型导出的过程中会被使用。它可能与模型的某些结构或者计算方式相关,用于确定导出模型时的一些参数配置。EXPORT_AR
会作为一个关键参数参与到导出过程中,影响导出模型的性能、大小或者兼容性等方面。self.EXPORT_CONTEXT_LENGTH = 4096
EXPORT_CONTEXT_LENGTH
表示导出模型时所使用的上下文长度。在自然语言处理模型中,上下文长度是一个重要的参数,它定义了模型在处理输入时能够考虑的前后文的最大长度。这里的 4096 意味着在导出模型时,模型会被配置为能够处理长度最大为 4096 个标记(token)的输入序列。self.ARNs
是一个列表,表示一个取值范围;self.EXPORT_AR
是一个固定的整数值;self.EXPORT_CONTEXT_LENGTH
也是一个固定的整数值。self.ARNs
用于在编译过程中尝试不同的比率值以优化性能;self.EXPORT_AR
是在模型导出时使用的固定比率参数;self.EXPORT_CONTEXT_LENGTH
则是在导出模型时确定模型能够处理的输入序列的最大长度。