Skip to content

Latest commit

 

History

History
84 lines (61 loc) · 3.77 KB

File metadata and controls

84 lines (61 loc) · 3.77 KB

MindSpeed LLM流式推理

使用效果

  • ChatGLM3-6b-Base流式推理效果

    Instruction: "how are you?"
    MindSpeed-LLM:   "I'm just a computer program, so I don't have feelings or physical sensations, \
                but I'm here to help you with any questions you might have. \
                Is there something specific you would like to know?"
    HuggingFace: "I'm just a computer program, so I don't have feelings or physical sensations, \
                but I'm here to help you with any questions you might have. \
                Is there something specific you would like to know?"
  • Llama3.1-8b-Instruct流式推理效果

    Instruction: "how are you?"
    MindSpeed-LLM:   "I hope you are doing well. I am writing to ask for your help with a project I am working on. \
                I am a student at [University Name] and I am doing a research project on [Topic]."
    HuggingFace: "I hope you are doing well. I am writing to ask for your help with a project I am working on.\
                I am a student at [University Name] and I am doing a research project on [Topic]."

使用示例

  1. 初始化环境变量

    source /usr/local/Ascend/cann/set_env.sh
    source /usr/local/Ascend/nnal/atb/set_env.sh

    以上命令以root用户安装后的默认路径为例,请用户根据set_env.sh的实际路径进行替换。

  2. 获取启动脚本

    使用LLaMA2模型目录下的流式推理脚本

  3. 编辑示例脚本

    根据示例,路径应进行如下填写:

    CHECKPOINT="./model_weights/llama-2-13b-mcore/"
    TOKENIZER_PATH="./model_from_hf/llama-2-13b-hf/"
    TOKENIZER_MODEL="./model_from_hf/llama-2-13b-hf/tokenizer.model"
    • CHECKPOINT:指向权重转换后保存的路径。

    • TOKENIZER_PATH:指定模型的分词器所在文件夹路径。

    • TOKENIZER_MODEL:指定模型的分词器文件路径(例如tokenizer.model)。

    [!NOTE]

    除了路径的配置,推理脚本中的其他参数应与训练时的参数保持一致(例如,TP/PP/EP/VPP等并行切分,--noop-layers--num-layer-list等自定义模型结构参数),否则会出现模型权重加载失败的情况。

  4. 运行脚本

    bash examples/mcore/llama2/generate_llama2_13b_ptd.sh

流式推理脚本相关参数

表 1 推理脚本参数说明

参数名 说明
--task 用于指定推理过程中所采用的生成策略,支持greedy_search、greedy_search_with_sampling、beam_search、beam_search_with_sampling及chat策略。
--stream 启用此参数后可实现流式推理输出。
--max-new-tokens 生成的token的最大数量,忽略输入提示中的token数量。
--max-length 生成的token的最大长度。对应于输入prompt的长度 + max_new_tokens。如果设置了max_new_tokens,该参数的效果将被覆盖。
--add-eos-token 设置结束序列生成的token标识符,支持设置多个结束符。
--top-k 默认为0,若设置大于1的整数,则保留前k个概率最高的词汇token,用于top-k采样。
--top-p 默认为1.0,若设置为小于1的浮点数,则仅保留概率总和为top-p或更高的最小一组最有可能的token进行采样。
--temperature 默认为1.0,采样策略中的温度系数。
--num-beams 使用束搜索(Beam Search)策略时,设置束的大小。
--use-kv-cache 在线推理过程中设置使用kv-cache来加速生成。
--use-flash-attn 在线推理过程中设置使用prompt_flash_attention和incre_flash_attention来加速推理生成,需要在kv-cache开启的前提下使用,目前支持MHA,GQA和Alibi。