Llama微调以及Ollama部署

1 Llama微调

在基础模型的基础上,通过一些特定的数据集,将具有特定功能加在原有的模型上。

1.1 效果对比

  • 特定数据集
    在这里插入图片描述
  • 未使用微调的基础模型的回答
    在这里插入图片描述
  • 使用微调后的回答
    在这里插入图片描述

1.2 基础模型

基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored,
模型文件可以在HuggingFace 模型

1.3 选择数据集

微调大模型要想获得比较好的效果,拥有高质量的数据集是关键。可以选择用网上开源的,或者是自己制作。以中文数据集弱智吧为例,约1500条对话数据,数据集可以从HuggingFace 数据集

1.4 训练lora模型并与基础模型进行合并

新建一个merge.py文件,将基础模型和lora模型合并为一个新的模型文件

执行merge.py,需要传入的参数(改成自己的):
--base_model
基础模型路径
--lora_model
微调的lora模型路径
--output_dir
合并后模型的输出路径

1.5 量化模型

利用llama.cpp进行量化模型.

  • 1.安装CMAKE下载llama.cpp源码
    git clone https://github.com/ggerganov/llama.cpp.git
    cd llama.cpp
  • 2.安装依赖
    pip install -r requirements/requirements-convert-hf-to-gguf.txt
    cmake -B build
    cmake --build build --config Release
  • 3.执行转换脚本,将safetensors转换为gguf文件,便于量化
    convert-hf-to-gguf.py 合并后模型的位置 --outtype f16 --outfile 转换后模型的位置my_llama3.gguf
  • 4.对转后的文件进行量化操作。
    llama.cpp所在位置\llama.cpp\build\bin\Release quantize.exe 转换后模型的路径 量化后模型的位置quantized_model.gguf q4_0

至此,llama微调后的模型操作完毕,可以直接使用。

2.Ollama部署

Ollama安装地址

2.1 部署现有的模型

在这里插入图片描述
打开Ollama,找到目录中现有的模型,使用ollama run llama3.2,来使用现有模型。

2.2 使用微调模型

  • 1.在上述已量化好的模型quantized_model.gguf的目录中新建Modelfile文件
FROM 量化好的模型路径
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
  • 2.使用微调模型
# ollama create 模型名字 -f Modelfile文件路径
ollama create panda -f  test.Modelfile
本课程了有关Transformer和大语言模型(LLM)的关键前置知识, 包括注意力机制、多头注意力、编码器-解码器结构等Transformer原理, 以及LLM的文本生成和LLM微调技术原理。在此基础上, 重点介绍了Llama 3模型的进化历程、技术原理和代码实现。其中涉及RMSNorm归一化、SwiGLU激活函数、RoPE位置编码、GQA注意力和KVCache等关键技术。通过代码解析, 深入剖析了Llama 3的架构设计和代码实现。在实践部分, 课程还介绍了如何在阿里云使用Ollama和vLLM部署Llama 3模型, 以及使用llama_factory工具进行基于LoRA和QLoRA的llama3 8B大模型微调。项目实战环节则提供了从准备数据集到训练、推理、评估的全流程指导, 聚焦中文增强和医疗问答两大应用方向。这是一门内容全面、理论实践并重的大模型课程。不仅系统讲解了LLM和Llama 3的技术原理, 还通过代码解析和实战项目深度剖析了相关技术在工程落地中的关键环节, 有助于学员全面掌握大模型相关知识和动手实战能力。-------------------------------------------------------------------------------具体课程内容如下:前置知识1:Transformer原理与代码精讲- 注意力机制:了解注意力机制如何使模型能够捕捉输入序列中不同位置之间的相关性。- 自注意力:解释自注意力如何允许序列的每个元素都与序列中的其他元素进行交互。- 多头注意力:探讨多头注意力如何通过并行处理多个注意力层来增强模型的能力。- 位置编码:学习位置编码如何为模型提供序列中单词的位置信息。- 编码器和解码器:深入分析Transformer的编码器和解码器结构,以及它们在模型中的作用。- 层归一化(LayerNorm)和前馈网络(FFN):介绍这两种技术如何帮助稳定和增强模型的训练过程。- 代码精讲:讲解Transformer模型的PyTorch代码实现细节等。 前置知识2:大模型(LLM)文本生成- LLM的推理方式- LLM的文本生成模式: 主要有Completion模式和Chat模式两种- LLM的文本生成策略: 包括贪婪搜索、束搜索、随机采样、温度采样、Top-k采样和Top-p采样等- LLM中的Token与分词器- llama3的文本生成过程- LLM文本生成的预填充和解码阶段- LLM文本生成中的Q、K、V机制 前置知识3:大模型微调原理- LLM的开发流程可分为预训练、有监督微调、奖励建模和强化学习四个阶段- 从基座模型到对话模型的转变。- 针对特定领域的SFT微调- 微调的技术方法包括全参微调、冻结微调、LoRA、QLoRA- LoRA技术原理和有效性- QLoRA技术原理 Llama3进化史和生态 Llama3原理精讲- Llama3模型架构- RMSNorm归一化技术- SwiGLU激活函数- RoPE旋转位置编码- GQA分组查询注意力- KVCache Llama3代码解析- 各文件功能- completion和chat应用脚本代码解析- generation.py代码解析- model.py代码解析- tokenizer.py代码解析- RMSNorm代码解析- SwiGLU代码解析- GQA代码解析- RoPE代码解析- KVCache代码解析 Llama3部署- Ollama部署llama3-阿里云免费GPU算力领取及实例创建、ollama安装、llama3推理- VLLM部署llamaLlama3项目实战1-llama_factory微调llama3中文增强大模型- llama_factory介绍- llama_factory安装及llama3模型下载- LoRA微调训练llama3 8B Instruct模型- llama3中文增强大模型推理- llama3中文增强大模型评估(MMLU, CEVAL, CMMLU)- LoRA文件合并 Llama3项目实战2-llama_factory微调llama3医疗问答大模型(LoRA)- 准备医疗问答大模型数据集- LoRA微调训练llama3 8B Instruct模型- llama3医疗问答大模型推理 Llama3项目实战3-llama_factory微调llama3医疗问答大模型(QLoRA)- QLoRA微调训练llama3 8B Instruct模型- llama3医疗问答大模型推理-----------------------------------------------------------------------------------购课后可加入课程学习QQ群:364717673
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yoin.

感谢各位打赏!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值