选择ATB作为模型后端

从昇腾模型仓路径中(默认安装路径为:/usr/local/Ascend/llm_model)找到指定模型结构的类文件modeling_xxx.py,将其粘贴到目标模型权重路径下以覆盖原始模型结构类文件。当前ATB后端支持基于Bert、XLM-Roberta模型结构的所有文本嵌入模型,以及gte-Qwen2-1.5B-instruct文本嵌入模型,其对应ATB后端的模型类文件路径如下:

表1 ATB后端模型结构类文件指引表

模型名称

模型结构类文件在昇腾模型仓位置

是否需要修改config.json的"auto_map"字段

gte-Qwen2-1.5B-instruct文本嵌入模型

/usr/local/Ascend/llm_model/atb_llm/models/gte_qwen/modeling_qwen.py

基于Bert的文本嵌入模型

/usr/local/Ascend/llm_model/examples/models/embedding/bert/modeling_bert.py

基于XLM-Roberta的文本嵌入模型

/usr/local/Ascend/llm_model/examples/models/embedding/xlm_roberta/modeling_xlm_roberta.py

  • 可通过原始模型权重路径下config.json文件中的"architectures"字段确认所需使用的模型是否基于Bert、XLM-Roberta模型。
  • 对于基于Bert、XLM-Roberta的文本嵌入模型,其原始模型权重路径下没有模型结构类文件,将昇腾模型仓对应的模型类文件粘贴至权重路径下后,需在与模型类文件同级的config.json文件中新增"auto_map"字段。对于基于XLM-Roberta的模型(例如:bge-m3),需在其权重目录下的config.json文件所包含的字典中增加以下字段(保证config.json中各字段均用逗号隔开)

    "auto_map": {

    "AutoModel": "modeling_xlm_roberta.XLMRobertaModel", # 对于文本嵌入模型

    },

    同理,对于基于Bert的模型(例如:bge-large-zh),需增加以下字段:

    "auto_map": {

    "AutoModel": "modeling_bert.BertModel", # 对于文本嵌入模型

    },