马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
LLaMA Factory
LLaMA Factory快速对大模型进行快速调优,本文看一下怎样本地搭建环境并调优,本文使用 ModelScope 社区中的模型,模型在国内,下载速度非常友好。
- ## LLaMA Factory官方
- git pull https://github.com/hiyouga/LLaMA-Factory
复制代码
- 编译 Docker 并运行
我添加了USE_MODELSCOPE_HUB=1,代表从 ModelScope 拉模型,所以训练时候需要使用 ModelScope 的 ID。docker 文件稍微修改一下,添加 python 镜像,否则打包非常慢。
- FROM nvcr.io/nvidia/pytorch:24.01-py3
- WORKDIR /app
- COPY requirements.txt /app/
- RUN pip install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt
- COPY . /app/
- RUN pip install -i https://mirrors.aliyun.com/pypi/simple -e .[metrics,bitsandbytes,qwen]
- VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ]
- EXPOSE 7860
- CMD [ "llamafactory-cli", "webui" ]
复制代码- docker build -f ./Dockerfile -t llama-factory:latest .
- docker run --runtime=nvidia --gpus all \
- -v ./hf_cache:/root/.cache/huggingface/ \
- -v ./data:/app/data \
- -v ./examples:/app/examples \
- -v ./output:/app/output \
- -e CUDA_VISIBLE_DEVICES=0 \
- -e USE_MODELSCOPE_HUB=1 \
- -p 7860:7860 \
- --shm-size 32G \
- --name llama_factory \
- -d llama-factory:latest
复制代码
- 模型训练
测试中使用了 llam3模型,修改设置文件的模型 ID,examples/lora_single_gpu/llama3_lora_sft.yaml,从“model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct” 改为 “model_name_or_path: LLM-Research/Meta-Llama-3-8B-Instruct”
- CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml
复制代码
- 模型推理
使用训练好的模型进行推理,修改模型 ID,从“model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct” 改为 “model_name_or_path: LLM-Research/Meta-Llama-3-8B-Instruct”
- CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
复制代码
- 导出模型
将Lora 调优的adapter 于原始模型进行合并导出。
- CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
复制代码
- 转换为 GGUF
将导出的模型转换为 GGUF,GGUF 可以通过 ollama 运行。
- ## 下载 llamafile
- git clone https://github.com/ggerganov/llama.cpp.git
- ## 安装依赖
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r llama.cpp/requirements.txt
- ##转换模型
- python llama.cpp/convert-hf-to-gguf.py /app/models/llama3_lora_sft/ --outfile test-llama3.gguf --outtype q8_0
复制代码
- FROM ./test-llama3.gguf
- TEMPLATE "{{ if .System }}<|start_header_id|>system<|end_header_id|> {{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|> {{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|> {{ .Response }}<|eot_id|>"
复制代码
- ollama create testllama3 -f testmodel
复制代码
总结
本文只是简单对 LLaMA Factory 在本地调优的流程进行了简单的介绍,调优完成之后将模型随处为 GGUF 格式并用 ollama 运行,详细的调优参数还要参考 LLaMA Factory 官方网站,不得不吐槽一下,文档确实不太完善,得看源代码。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |