用文件传输协议登录网站,中企动力销售怎么样,稳定的网站制作需要多少钱,wordpress上传微调大语言模型是常见的需求#xff0c;由于模型参数量大#xff0c;即使用 Lora/Qlora 进行微调也需要 GPU 显卡#xff0c;Mac M系是苹果自己的 GPU#xff0c;目前主流的框架还在建立在 CUDA 的显卡架构#xff0c;也就是主要的卡还是来自英伟达。如果要用 Mac 来做训练…微调大语言模型是常见的需求由于模型参数量大即使用 Lora/Qlora 进行微调也需要 GPU 显卡Mac M系是苹果自己的 GPU目前主流的框架还在建立在 CUDA 的显卡架构也就是主要的卡还是来自英伟达。如果要用 Mac 来做训练和推理需要用MLXMLX 类似于 Pytorch对苹果芯片做了支持从而使得苹果电脑也可以进行深度学习。本文将介绍如何用 MLX 训练 Phi3 大语言模型
安装 MLX
pip install mlx-lm模型下载推理
这里需要访问 HuggingFace 下载可以使用国内镜像
国内镜像
https://hf-mirror.com/export HF_ENDPOINThttps://hf-mirror.compython -m mlx_lm.generate --model microsoft/Phi-3-mini-4k-instruct --max-token 2048 --prompt |user|\nCan you introduce yourself|end|\n|assistant|HF 模型转换为 MLX 模型
mlx 的命令都有一些默认值-h 中没有具体说明 只能去源码里看。 例如转换完成的模型会保存到 mlx_model 目录下。
python -m mlx_lm.convert --hf-path microsoft/Phi-3-mini-4k-instruct通过 MLX 进行调优
首先准备数据MLX 使用 jsonl 数据格式进行训练从 github 下载数据集并存放到 data 目录下一共三个文件test、train 和 valid文件下载好之后我们就可以开始训练了。
https://github.com/microsoft/Phi-3CookBook/tree/main/code/04.Finetuning/mlx/data
消耗资源比较多M2 风扇又开始转了。
python -m mlx_lm.lora --model microsoft/Phi-3-mini-4k-instruct --train --data ./data --iters 1000 模型推理
运行未训练的模型和训练好的模型并对推理的结果进行比较。
python -m mlx_lm.generate --model microsoft/Phi-3-mini-4k-instruct --adapter-path ./adapters --max-token 2048 --prompt Why do chameleons change colors? --eos-token |end| 原始模型
python -m mlx_lm.generate --model microsoft/Phi-3-mini-4k-instruct --max-token 2048 --prompt Why do chameleons change colors? --eos-token |end| 合并模型
将训练好的 Lora adapter 合并到原始模型中。
python -m mlx_lm.fuse --model microsoft/Phi-3-mini-4k-instruct
生成 GGUF
通过 llama.cpp 生成 GGUF量化参数支持 ‘f32’, ‘f16’, ‘bf16’, ‘q8_0’根据需要自行修改。Phi3 模型默认没有 tokenizer.model需要从 HF 下载 https://huggingface.co/microsoft/Phi-3-mini-4k-instruct/tree/main 将 tokenizer.model 复制到 /lora_fused_model/ 目录下完成后运行生成GGUF 的转换命令。
git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpppip install -r requirements.txtpython convert-hf-to-gguf.py ../lora_fused_model --outfile ../phi-3-mini-ft.gguf --outtype q8_0创建 Ollma 模型
首先创建 Ollama 的模型文件 ModelFile和上一步生成的 gguf 文件放到同一个目录下
FROM ./phi-3-mini-ft.gguf
PARAMETER stop |end|
创建模型
ollama create phi3ft -f Modelfile
Ollama 启动模型并进行推理
ollama run phi3ft总结
MLX 模型推理非常简单数据准备好就可以训练和推理本次使用的是 phi3 模型中文支持的不好以后可以试试 Qwen2 怎么样。