美文网首页
百度飞桨的aistudio,部署glm2-6b推理测试

百度飞桨的aistudio,部署glm2-6b推理测试

作者: 水他 | 来源:发表于2023-07-13 13:36 被阅读0次

    一、环境准备

    百度飞桨网址
    相比其他可以免费试用的gpu环境,百度飞桨更为大方,提供了最大128GB显存的免费算力,每天免费8点算力卡。(看飞桨后续是否会调整)

    • V100四卡 4*32GB显存,16c/128gb
    • A100 40GB,12c/96gb
    • V100 32GB,4c/32gb
    • V100 16GB, 2c/16gb
    • DCU 16GB, 2c/16gb

    创建项目

    创建一个个人项目,需要注意如果是提前下载好model,需要在创建项目时挂载数据集。
    速度会快很多
    挂载飞桨已有glm > 提前下载model > 在飞桨的环境里git lfs clone
    模型下载

    启动环境

    这里我只做部署推理6b模型,预计需要12-13GB显存,选择小一点的就够了。
    用的是 V100 16GB,0.5点/小时,一天可以16个小时,足够测试用了。


    image.png

    确认显卡

    nvidia-smi


    image.png

    二、模型和代码准备

    python

    conda create -n py310 python=3.10
    conda init
    conda activate py310
    python -V

    image.png

    model

    下载+挂载模型文件(模型实现在变动中,固定模型版本162b620,保证后续操作的兼容性)

    下载模型文件(除模型权重lfs大文件)

    cd work
    GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b

    方式一,直接挂载百度飞桨上已有的glm2模型

    glm2-6b模型

    image.png

    cd ~/data/dataxxxx
    unzip chatglm2-6b.zip
    mv pytorch* ~/work/chatglm2-6b/
    mv

    方式二,自己下载上传glm2模型

    先把模型下载到本地,再上传到自己的百度云盘。
    模型下载

    image.png

    从百度云盘上传数据集到百度飞桨(速度很快)
    飞桨挂载数据集

    image.png

    code

    代码commit号877ef10d85c93ddfcfe945fcdc764393a52541b8 (https://github.com/THUDM/ChatGLM2-6B/tree/877ef10d85c93ddfcfe945fcdc764393a52541b8

    git clone https://github.com/THUDM/ChatGLM2-6B
    cd ChatGLM2-6B
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

    备份package (避免每次重新install,可选操作)

    mkdir -p ~/work/pip/lib/python310/site-packages
    cp -r /home/aistudio/.conda/envs/py310/lib/python3.10/site-packages/* /home/aistudio/work/pip/lib/python310/site-packages/
    vi /home/aistudio/.conda/envs/py310/lib/python3.10/site.py

    # Enable per user site-packages directory
    # set it to False to disable the feature or True to force the feature
    ENABLE_USER_SITE = True
    
    # for distutils.commands.install
    # These values are initialized by the getuserbase() and getusersitepackages()
    # functions, through the main() function when Python starts.
    USER_SITE = "/home/aistudio/work/pip/lib/python310/site-packages"
    USER_BASE = None
    

    python -m site --user-site

    模型推理

    cd ~/work/ChatGLM2-6B
    vi helloworld_glm2.py

    from transformers import AutoTokenizer, AutoModel
    tokenizer = AutoTokenizer.from_pretrained("/home/aistudio/chatglm2-6b", trust_remote_code=True, revision="")
    model = AutoModel.from_pretrained("/home/aistudio/chatglm2-6b", trust_remote_code=True, revision="").half().cuda()
    model = model.eval()
    response, history = model.chat(tokenizer, "你好", history=[])
    print(response)
    

    python helloworld_glm2.py

    相关文章

      网友评论

          本文标题:百度飞桨的aistudio,部署glm2-6b推理测试

          本文链接:https://www.haomeiwen.com/subject/qzsmudtx.html