Home » Linux » 聊天模型

聊天模型

编 辑:Y ┊ 时 间:2023年09月07日 ┊ 访问: 19 次
按照https://github.com/ymcui/Chinese-LLaMA-Alpaca介绍的方法

目录

cd ~
git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca
cd Chinese-LLaMA-Alpaca
# 下载中文增量模型 Chinese-Alpaca-7B(从项目说明中的网盘链接下载)
# 下载原始模型 https://huggingface.co/nyanko7/LLaMA-7B
# 原始模型、目标模型的目录结果如下,在原始模型下放tokenizer.model,其余文件放到7B目录
# 最后合并的模型放到model的根下
├── model
│   ├── chinese_llama_or_alpaca_lora(中文增量模型)
│   │   ├── adapter_config.json
│   │   ├── adapter_model.bin
│   │   ├── special_tokens_map.json
│   │   ├── tokenizer_config.json
│   │   └── tokenizer.model
│   ├── original_llama_hf(原始模型转换为HuggingFace格式)
│   │   ├── config.json
│   │   ├── generation_config.json
│   │   ├── pytorch_model-00001-of-00002.bin
│   │   ├── pytorch_model-00002-of-00002.bin
│   │   ├── pytorch_model.bin.index.json
│   │   ├── special_tokens_map.json
│   │   ├── tokenizer_config.json
│   │   └── tokenizer.model
│   ├── original_llama_root(原始模型)
│   │   ├── 7B
│   │   │   ├── checklist.chk
│   │   │   ├── consolidated.00.pth
│   │   │   ├── params.json
│   │   │   └── README.md
│   │   └── tokenizer.model
│   ├── params.json
│   ├── special_tokens_map.json
│   ├── tokenizer_config.json
│   ├── consolidated.00.pth
│   └── tokenizer.model

模型下载

https://huggingface.co/nyanko7/LLaMA-7B/tree/main

git lfs install
git clone https://huggingface.co/nyanko7/LLaMA-7B

https://huggingface.co/decapoda-research/llama-7b-hf

git lfs install
git clone https://huggingface.co/decapoda-research/llama-7b-hf

Chinese-LLaMA-7B:

转化

转换原始模型到HuggingFace格式

# 查找convert_llama_weights_to_hf.py全路径
sudo find  / -name convert_llama_weights_to_hf.py
# 转换命令
python convert_llama_weights_to_hf.py(全路径) \
    --input_dir path_to_original_llama_root_dir \
    --model_size 7B \
    --output_dir path_to_original_llama_hf_dir
python3 /home/why/.local/lib/python3.10/site-packages/transformers/models/llama/convert_llama_weights_to_hf.py \
--input_dir model/original_llama_root \
    --model_size 7B \
    --output_dir model/original_llama_hf
合并原始模型和LoRA权重
# 合并命令
python scripts/merge_llama_with_chinese_lora.py \
    --base_model path_to_original_llama_hf_dir \
    --lora_model path_to_chinese_llama_or_alpaca_lora \
    --output_dir path_to_output_dir
# 例
python scripts/merge_llama_with_chinese_lora.py \
    --base_model model/original_llama_hf \
    --lora_model model/chinese_llama_or_alpaca_lora \
    --output_dir model
克隆和编译llama.cpp
cd ~
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
生成量化版本模型
# 复制转化后的模型
mkdir zh-models
cp ~/Chinese-LLaMA-Alpaca/model/chinese_llama_or_alpaca_lora/tokenizer.* ./zh-models
mkdir zh-models/7B
cp ~/Chinese-LLaMA-Alpaca/model/consolidated.*.pth ./zh-models/7B
cp ~/Chinese-LLaMA-Alpaca/model/params.json ./zh-models/7B
# 模型权重转换为ggml的FP16格式
python convert-pth-to-ggml.py zh-models/7B/ 1
# 对FP16模型进行Q4量化
./quantize ./zh-models/7B/ggml-model-f16.bin ./zh-models/7B/ggml-model-q4_0.bin 2
加载并启动模型
./main -m zh-models/7B/ggml-model-q4_0.bin --color -ins -c 2048 --temp 0.2 -n 256 --repeat_penalty 1.3 -p '你好'

Chinese-LLaMA-Alpaca实践




Copyright © 2026 Y 版权所有.网站运行:13年238天21小时25分