1.简介:
组织机构:Meta(Facebook)
代码仓:GitHub - facebookresearch/llama: Inference code for LLaMA models
模型:LIama-2-7b-hf、Chinese-LLaMA-Plus-2-7B
下载:使用huggingface.co和百度网盘下载
硬件环境:暗影精灵7Plus
Windows版本:Windows 11家庭中文版 Insider Preview 22H2
内存 32G
GPU显卡:Nvidia GTX 3080 Laptop (16G)
查看 https://github.com/ymcui/Chinese-LLaMA-Alpaca-2
新的模型出来了,可以试一试。
2.代码和模型下载:
下载Chinese-LLaMA-Alpaca-2代码仓:
d:\
git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca-2
获取原版LIama-2-7b-hf模型:https://huggingface.co/meta-llama/Llama-2-7b-hf
下载所有文件,备用。
将文件下载到 d:\llama.cpp\models2的目录:
根据
直接下载完整版模型:
将下载好的文件复制到 d:\llama.cpp\models2\chinese-alpaca-2-7b-hf目录下:
3.安装依赖
暂无。
4.部署验证1(直接使用chinese-alpaca-2-7b完整版模型,转FP16,INT4量化)
生成FP16模型并进行4-bit量化:
cd llama.cpp
python convert.py models2/chinese-alpaca-2-7b-hf/
./quantize ./models2/chinese-alpaca-2-7b-hf/ggml-model-f16.gguf ./models2/chinese-alpaca-2-7b-hf/ggml-model-q4_0.gguf q4_0
参考 chat.sh
#!/bin/bash
# temporary script to chat with Chinese Alpaca-2 model
# usage: ./chat.sh alpaca2-ggml-model-path your-first-instruction
SYSTEM='You are a helpful assistant. 你是一个乐于助人的助手。'
FIRST_INSTRUCTION=$2
./main -m $1 \
--color -i -c 4096 -t 8 --temp 0.5 --top_k 40 --top_p 0.9 --repeat_penalty 1.1 \
--in-prefix-bos --in-prefix ' [INST] ' --in-suffix ' [/INST]' -p \
"[INST] <<SYS>>
$SYSTEM
<</SYS>>
$FIRST_INSTRUCTION [/INST]"
#./chat.sh models2/7B/ggml-model-q4_0.gguf '请列举5条文明乘车的建议'
编辑好推理代码并执行:
./main -m ./models2/chinese-alpaca-2-7b-hf/ggml-model-q4_0.gguf -n -1 --color -r "User:" --in-prefix " " -i -c 4096 -t 8 --temp 0.5 --top_k 40 --top_p 0.9 --repeat_penalty 1.1 -e -p "User: Hi\nAI: Hello. I am an AI chatbot. Would you like to talk?\nUser: Sure!\nAI: What would you like to talk about?\nUser:"
#./main -m ./models_chat/path_to_original_llama_root_dir/ggml-model-q4_0.gguf -n -1 --color -r "User:" --in-prefix " " -i -e -p "User: Hi\nAI: Hello. I am an AI chatbot. Would you like to talk?\nUser: Sure!\nAI: What would you like to talk about?\nUser:"
您好!
你是谁?
你能做什么?
写一篇国庆节去南京中山陵游玩的游记。
你写完了吗?
ChatGPT和国内的AIGC产品相比有什么优缺点?
你觉得怎样才能做到独立思考?
再见!
早知道2代目这么优秀,我为啥还花那么多功夫研究一代呢?
5.部署验证2(使用Llama-2-7b-hf 原始模型和chinese-alpaca-2-lora-7b Lora模型,转换,合并,转FP16,INT4量化)
当然,研究技术不能只是拿来主义,还是要试图做一次成功的模型合并的。
下载两个LoRa模型:
Chinese-LLaMA-2-LoRA-7B
https://pan.baidu.com/s/1bmgqdyRh9E3a2uqOGyNqiQ?pwd=7kvq
Chinese-Alpaca-2-LoRA-7B
https://pan.baidu.com/s/1g42_X7Z0QWDyrrDqv2jifQ?pwd=bq7n
解压到 models2 目录:
将 D:\Chinese-LLaMA-Alpaca-2\scripts\merge_llama2_with_chinese_lora_low_mem.py文件复制到 d:\llama.cpp目录下:
python merge_llama2_with_chinese_lora_low_mem.py --base_model models2/Llama-2-7b-hf --lora_model models2/chinese-llama-2-lora-7b,models2/chinese-alpaca-2-lora-7b --output_type huggingface --output_dir models2/path_to_output_dir
看来使用huggingface 模式不行。
换成 pth方式试试:
python merge_llama2_with_chinese_lora_low_mem.py --base_model models2/Llama-2-7b-hf --lora_model models2/chinese-llama-2-lora-7b,models2/chinese-alpaca-2-lora-7b --output_type pth --output_dir models2/path_to_output_dir
是不是跟一代不一样,不能用两个Lora了?
去掉一个试试:
python merge_llama2_with_chinese_lora_low_mem.py --base_model models2/Llama-2-7b-hf --lora_model models2/chinese-alpaca-2-lora-7b --output_type pth --output_dir models2/path_to_output_dir
成功了!
转成FP16:
python convert.py models2/path_to_output_dir/
结果如下:
量化:
./quantize ./models2/path_to_output_dir/ggml-model-f16.gguf ./models2/path_to_output_dir/ggml-model-q4_0.gguf q4_0
结果如下:
启动推理:
./main -m ./models2/path_to_output_dir/ggml-model-q4_0.gguf -n -1 --color -r "User:" --in-prefix " " -i -c 4096 -t 8 --temp 0.5 --top_k 40 --top_p 0.9 --repeat_penalty 1.1 -e -p "User: Hi\nAI: Hello. I am an AI chatbot. Would you like to talk?\nUser: Sure!\nAI: What would you like to talk about?\nUser:"
讲一个笑话给我听吧!
我打算从南京去新疆旅游,给我设计一个旅行路线
晚上睡不着觉怎么办?
树上10只鸟,打死1只,还剩几只?
你算不出来吗?
如何获得女孩的芳心?
== Running in interactive mode. ==
- Press Ctrl+C to interject at any time.
- Press Return to return control to LLaMa.
- To return control without starting a new line, end your input with '/'.
- If you want to submit another line, end your input with '\'.
User: Hi
AI: Hello. I am an AI chatbot. Would you like to talk?
User: Sure!
AI: What would you like to talk about?
User: 讲一个笑话给我听吧!
AI: 好的,这里有一个:为什么猪不会上网?因为它们有Wi-Fi。
我打算从南京去新疆旅游,给我设计一个旅行路线
AI: 当然可以!您可以从南京出发前往乌鲁木齐,然后继续向南到喀什、和田等地游览景点,最后返回南京。这样您的旅程将覆盖了中国的西北地区。 User: 晚上睡不着觉怎么办?
AI: 如果您无法入睡,您可以试试深呼吸或放松技巧来缓解压力和焦虑感,或者尝试听一些轻松的音乐以帮助入眠。如果您的失眠问题持续存在,请咨询医生寻求进一步的建议和治疗。
树上10只鸟,打死1只,还剩几只?
AI: 您想让我猜吗?还是告诉我答案呢? User: 你算不出来吗?
AI: 我很抱歉,但我无法回答这个问题,因为没有足够的信息来计算剩余的鸟数量。如果您能提供更多的上下文或细节,我可以帮助您更好地理解问题并给出更准确的答案。
5+10=?
AI: 这个数学题很简单:将两个数相加即可得到答案。所以,5 + 10 = 15。 User: 如何获得女孩的芳心?
AI: 这是一个非常主观的问题,因为每个人对"获得女孩的芳心"的理解可能不同。但是,以下是一些建议可以帮助您与女孩建立更亲密的关系: User: 你的建议呢?
AI: 我认为最重要的是要尊重和关心对方,倾听她的想法和感受,并给予她支持和鼓励。此外,保持积极乐观的态度也很重要,因为这会让人感到更加愉快和自信。 User: 还有没有别的建议?
AI: 当然!您还可以尝试做一些浪漫的事情来让她感受到您的爱意,例如准备一份特别的晚餐、送给她一束花或带她去一个有趣的地方旅游等等。最重要的是要记得始终保持真诚和诚实 ,这样会让女孩更加信任和依赖您。 User: 再见!
AI: 再见,祝您有一个美好的一天!
感觉二代还是可以的!!!