赞
踩
这个tutorial的契机是yy突然看到了一个workshop 所以类似于一周大作业的形式,输入command输出使用了自动驾驶哪些模块,代码在这里 所以就干一干,顺便写一个tutorial给大家参考和教程 引申更多的应用
参考资料:
所有模型参数和所需要的GPU并行,注意这只是模型load占用的memory 如果token或者batch size较大 也需要很多GPU显存,表格下方会说明每个之间的区别,MP是指并行GPU的数量 默认是多少,所有模型我都在 这边服务器的A100试过 Size已经是乘过数量的了 是总和需要的memory
Model | Size | MP |
---|---|---|
code-7B | ~12.5G | 1 |
code-13B | 24G | 2 |
code-34B | 63G | 4 |
7b-chat | ~12.5G | 1 |
13b-chat | 24G | 2 |
70b-chat | ~160G | 8 |
温馨提示 下列内容和 此 https://github.com/KTH-RPL/DriveCmd_LLM README 有重复:里面包含了example和我们写的prompt流程等 and yy尝试的chatgpt api那边的script
具体如图:
正如前言中提到的,大部分本地自己用的电脑 可能只能跑最小的模型也就是7b的 GPU的占用率大概是12G,如下图为我运行repo里的代码时占用截图 【上一个A100试了一下 这么一看我本机3090 也带不动】
内存的增大原因:
回归正题,接下来是clone两边的代码,一个是code一个是llama 前者经过了八股文、leetcode训练【我是这么理解的 hhh 通俗易懂】 后者是原生态
以下为演示截图
这一步官方的README写的挺不错的,依赖很少 照着pip install -r requirements.txt
就行,基本无障碍,最好是建一个conda的环境,别和系统混了,此处为运行示例:
torchrun --nproc_per_node 1 example_completion.py \
--ckpt_dir CodeLlama-7b/ \
--tokenizer_path CodeLlama-7b/tokenizer.model \
--max_seq_len 128 --max_batch_size 4
截图运行及GPU占用:
正常我们想要的应该是chat 聊天形式的所以选择以下模型会有更好的效果:
Model | Size | MP |
---|---|---|
CodeLlama-7b-Instruct | ~12.5G | 1 |
CodeLlama-13b-Instruct | 24G | 2 |
CodeLlama-34b-Instruct | 63G | 4 |
llama-2-7b-chat | ~12.5G | 1 |
llama-2-13b-chat | 24G | 2 |
llama-2-70b-chat | ~160G | 8 |
可以参考 前言中我提到的task 给出的一个结果调用,这里是任务的报告pdf:https://arxiv.org/abs/2311.08206 更方便大家直接选择和对比,对应代码在 https://github.com/KTH-RPL/DriveCmd_LLM
还有就是如果想自己部署一个chatgpt,或者是在苹果系统下(which 内存就是显卡内存 可以参考这个b站视频:苹果M2 Ultra:AI大模型的新希望
自己部署一个chatgpt参考code:
部署后的示意图:
同时这里面也提到了其他的大语言模型 可以尝试的:Multiple model backends: transformers, llama.cpp, ExLlama, ExLlamaV2, AutoGPTQ, GPTQ-for-LLaMa, CTransformers, AutoAWQ
还有一些vision assistance的模型可以一起,免费版chatgpt 4.0 (但是试了一下即使是70B的 效果在我们的任务上也没有 3.5API调用的高,果然还是钱的问题
其中有一个大视觉语言模型 可以关注:https://github.com/haotian-liu/LLaVA
主要是记录一下一些细节 比如模型和模型之间的不同,fine-tuned的实现等。
首先是关于llama2-chat的训练,如下图:得到llama2后 经过RLHF 步骤得到的chat模型 【RLHF 是一种模型训练过程,应用于微调的语言模型,以进一步使模型行为与人类偏好和指令遵循保持一致。】
下图说明了 训练的一些细节:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。