1、LLaMa模型代码:
GitHub - facebookresearch/llama: Inference code for LLaMA models
不同模型对参数规模要求不同,有7B、13B、30B(33B)和65B四个数据规模。
ModelMP7B113B230B(33B)465B8
2、环境检查
(1)、检查CUDA环境是否已安装(没有的话先安装CUDA):
(2)、检查是否已安装Pytorch(没有的话先安装Pytorch):
3、LLaMa模型下载:
(1)、7B模型:
nyanko7/LLaMA-7B at main (huggingface.co)
(2)、13B模型:
elinas/alpaca-13b-lora-int4 at main (huggingface.co)
(3)、30B模型:
elinas/llama-30b-int4 · Hugging Face
(4)、65B模型:
nyanko7/LLaMA-65B at main (huggingface.co)
(5)、下载之前创建一个llama.cpp文件夹,在此文件夹创建一个models文件夹。
将所下载的不同版本模型文件下载到models文件夹。文件应该按如下结构存放到刚刚建立的"Models“文件夹:
% ls ./models
7B
13B
30B
65B
llama.sh
tokenizer.model
tokenizer_checklist.chk
(6)其它版本LLaMa下载:
由于Meta官方最小的7B模型对显存和内存要求比较高。
这里选择了一个量化版7B的小模型来测试。量化版7B小模型下载地址:
GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++
4、 克隆项目并配置环境:
git clone https://github.com/facebookresearch/llama.git
cd llama
pip install -r requirements.txt
pip install -e
5、运行以下命令,将第一个Pth脚本转换为ggml.py格式:
python convert-pth-to-ggml.py models/7B/ 1
将在"7B”文件夹产生一个名为”models/7B/ggml-model-f16.bin"的文件。
6、运行以下命令,将第二个脚本 "quantize"量化为4bit文件。
./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.bin 2
将在"7B”文件夹产生一个名为”models/7B/ggml-model-q4_0.bin"的文件。
7、运行LLaMa模型:
(1)使用Docker运行LLaMa模型。
(2)使用WebUI运行LLaMA 模型。
(3)使用以下方式运行LLaMa模型:
./main -m ./models/7B/ggml-model-q4_0.bin \
-t 8 \
-n 128 \
-p 'The first man on the moon was '
./main--帮助显示[选项]。
-m是模型。
-t是要使用的线程数。
-n是要生成的令牌数。
-p是要输入的提示词。
8、以下是完整的帮助输出:
./main[选项]
选项:
-h、 --帮助显示此帮助消息并退出
-s SEED,--种子(默认值:-1)
-t N,--N个线程[计算期间要使用的线程数(默认值:4)]
-p PROMPT,--提示词
提示开始生成(默认值:随机)
-n n,--n_predict n个要预测的令牌数(默认值:128)
--top_k N top-k采样(默认值:40)
--top_p N top-p采样(默认值:0.9)
--temp N温度(默认值:0.8)
-b N,--batch_size N用于提示处理的批量大小(默认值:8)
-m FNAME,--模型的首个名称
模型路径(默认值:models/llama-7B/ggml model.bin)
9、实验结果:
10、能力表现对比:
(1) 常识推理:
LLaMA-65B 比Chinchilla-70B和PaLM540B稍强。LLaMA-13B推理能力比GPT-3强。
(2) 闭卷问答:
LLaMA-65B比GPT-3和Chinchilla具有竞争力。
(3) 阅读理解:
LLaMA-13B比GPT-3稍强。
(4)数学推理:
LLaMA65B优于Minerva-62B。
(5) 代码生成:
LLaMA优于LaMDA和PaLM。
(6) 多任务语言理解:
LLaMA-65B比Chinchilla70B和PaLM-540B稍逊。
(7) 训练能力进化:
未知。
参考:
1、GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++2、Running LLaMA 7B and 13B on a 64GB M2 MacBook Pro with llama.cpp | Simon Willison’s TILs
版权归原作者 StringEast 所有, 如有侵权,请联系我们删除。