Ascend-SACT/nllb-200-1.3b
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

1. 模型介绍

nllb-200-1.3b 是 Meta AI(原 Facebook AI Research)开发的多语言翻译模型,全称为 "No Language Left Behind"。这个模型旨在支持全球范围内更多的语言,特别是那些资源较少的语言。以下是 nllb-200-1.3b 模型的详细介绍:

1.1 模型概述

  • 名称:nllb-200-1.3b
  • 开发者:Meta AI
  • 类型:多语言翻译模型
  • 参数量:13 亿(1.3 billion)

1.2主要特点

  1. 多语言支持:
    • 支持语言数量:支持 200 多种语言,包括许多资源较少的语言。
    • 语言覆盖:覆盖了全球各地的语言,包括但不限于英语、中文、法语、德语、阿拉伯语、印地语等。
  2. 高性能:
    • 翻译质量:在多种语言对上表现出色,特别是在资源较少的语言对上。
    • 模型大小:13 亿参数,相对较小,适合在资源有限的环境中部署。

2. 准备运行环境

2.1 环境说明

环境配置配置说明
硬件配置Atlas 800T A2 910B2(64G)
驱动版本23.0.5.1
CANN版本7.0.0

3. 镜像下载

  1. 使用如下命令下载相关的镜像:

    wget -O nllb-200-1d3b.tar https://ai.gitcode.com/Ascend-SACT/nllb-200-1.3b/blob/main/nllb-200-1d3b.tar
  2. 使用如下命令进行相关镜像的加载

    docker load -i nllb-200-1d3b.tar

3.1 镜像中包含相关依赖版本信息

配套版本
python3.8.18
torch2.1.0
torch_npu2.1.0

4. 下载权重

  1. 使用如下命令下载权重:
mkdir /root/work/filestorage/nllb/model_weights
modelscope download --model facebook/nllb-200-1.3B --local_dir /root/work/filestorage/nllb/model_weights

5. 启动容器

  1. 使用如下命令启动容器:
# 设置容器名称
export CONTAINER_NAME=nllb-200-1d3b
# 选择镜像
export IMAGE=nllb-200-1.3b:v1

docker run --rm
--name $CONTAINER_NAME
--shm-size=50g
--net=host
--device /dev/davinci0
--device /dev/davinci_manager
--device /dev/devmm_svm
--device /dev/hisi_hdc
-v /usr/local/dcmi:/usr/local/dcmi
-v /usr/local/Ascend/driver/tool:/usr/local/Ascend/driver/tools/hccn_tool
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info
-v /etc/ascend_install.info:/etc/ascend_install.info
-v /root/work/filestorage/nllb/model_weights:/home/nllb/models/
-it $IMAGE bash

说明

  1. 镜像中已经挂载对应的权重目录。
  2. device 可按需挂载。示例为0卡
  3. 挂载目录需包含权重所在路径,如/root/work/filestorage/nllb

6. 模型离线测试

  1. 进入容器

    docker exec -it [container-id] /bin/bash
  2. 切换到 /home/nllb, 执行如下脚本,初始化运行环境,并同时查看NPU的亲和核信息。

    source setup_env.sh

    例如输出: NPU7 X 48-71

  3. 使用上述命令查出来的亲和核(48-71), 运行离线性能测试

    taskset -c 48-71 python run_nllb_200_1.3by
  4. 查看输出如下结果,代表测试完成

     AvgCost: 2.57932 s
     Sampies: 10
     Iteration: 5
     Memory Used: 2702.45 MB
    

7. 模型服务化建议

可以参考如下项目,进行nllb-200-1.3b模型的服务化:

  • https://github.com/thammegowda/nllb-serve/tree/main/nllb_serve