从chatgpt掀起的ai浪潮真实发展迅猛,从去年年底ChatGpt 3。 5发布时候的万人空巷,到现在随便找个机器就能像模像样的跑一个mini版出来。真是令人感叹。
05 摄于河北遵化·清东陵·裕陵
背景 大模型是指具有大量参数的深度学习或机器学习模型,这些参数可以通过训练过程自动调整以捕获输入数据中的复杂关系。这类模型通常具有较深的网络结构和较多的神经元,以增加模型的表示能力和学习能力。大模型在诸如自然语言处理、计算机视觉和语音识别等领域取得了显著的成果。 大模型使用了许多高级技术,主要包括以下几个方面:
深度神经网络(Deep Neural Networks,DNNs)
卷积神经网络(Convolutional Neural Networks,CNNs)
循环神经网络( Recurrent Neural Networks,RNNs )和长短时记忆网络( Long Short-Term Memory,LSTM )
Transformer 架构
预训练与微调(Pretraining and Fine-tuning)
分布式训练(Distributed Training)和混合精度训练(Mixed Precision Training)
LLaMA是由Meta AI发布的大语言系列模型,完整的名字是Large Language Model Meta AI。Llama这个单词本身是指美洲大羊驼,所以社区也将这个系列的模型昵称为羊驼系模型。LLaMA按照参数量的大小分为四个型号:LLaMA-7B、LLaMA-13B、LLaMA-30B与LLaMA-65B。这里的B是billion的缩写,指代模型的参数规模。故最小的模型7B包含70亿个参数,而最大的一款65B则包含650亿个参数。大语言模型训练过程大致可以分为四个阶段,其第一个阶段预训练所耗费的资源几乎占据了整个过程的99%——数千个GPU算力堆积在这里。这种规模的资源消耗远远超过普通人甚至是大部分公司的供应能力。而LLaMA的开源实际上为开源社区解决了参与的“门槛”问题。
# 获取模型数据,此处需要科学上网。 git lfs install git clone https://huggingface.co/LinkSoul/Chinese-Llama-2-7b-4bit
转化模型 # 拉取镜像 docker pull soulteary/llama2:converter # 运行容器,将保持有大模型向量数据的文件夹映射到容器内部 docker run --ulimit memlock=-1 --ulimit stack=67108864 --rm -it -v `pwd`/Chinese-Llama-2-7b-4bit:/app/LinkSoul -v `pwd`/soulteary:/app/soulteary soulteary/llama2:converter bash # 使用镜像中的llama.cpp程序,将模型转化为CPU运算类型 python3 convert.py /app/LinkSoul/ --outfile /app/soulteary/Chinese-Llama-2-7b-ggml.bin # 由于生成的模型有13GB,所以需要进一步精简模型,优化完成之后大约有3. 6GB ./quantize /app/soulteary/Chinese-Llama-2-7b-ggml.bin /app/soulteary/Chinese-Llama-2-7b-ggml-q4. bin q4_0
部署 运行 # 拉取运行时环境 docker pull soulteary/llama2:runtime # 运行镜像 docker run --ulimit memlock=-1 --ulimit stack=67108864 --rm -it -v `pwd`/soulteary:/app/soulteary soulteary/llama2:runtime bash # 按照预设提示运行 ./main -m /app/soulteary/Chinese-Llama-2-7b-ggml-q4. bin -n 256 --repeat_penalty 1. 0 --color -i -r "User:" -f prompts/chat-with-bob.txt
范例
执行范例
资源占用
参考
LLaMA:开放高效的基础语言模型
一文读懂Llama2
构建能够使用 CPU 运行的 MetaAI LLaMA2 中文大模型
基于LLAMA的AI应用
PUA·AI