Llama 3的微调、量化、知识库接入及部署

背景

Llama 3是支持中文的,但是明显对中文世界还是不太擅长。

速度很快,中文支持不行

那``微调、量化、本地知识库的接入、部署、及Agent上线的技术路线是什么?

1、微调

使用中文得到更好的支持需要进行微调,最简单的方法之一是使用Llama Factory。

它几乎不需要任何编程基础,直接使用即可微调出一个适用于您的模型。

Llama Factory的主要特色

  • 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen(阿里通义)、Yi(零一万物)、Gemma、Baichuan(百川)、ChatGLM(智谱)、Phi 等等。

  • 集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练和 ORPO 训练。

  • 多种精度:32 比特全参数微调、16 比特冻结微调、16 比特 LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/4/8 比特 QLoRA 微调。

  • 先进算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 和 Agent 微调。

  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。

  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。

  • 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。

微调过程的视频

微调的数据集

2、量化

微调出来的这个模型有点太大了,推理的时候速度比较慢,占用显存比较多,这时需要量化。

大模型量化主要是为了减小模型的体积和提高运算速度,让模型在资源有限的设备上也能高效运行。同时,量化还能降低能耗和成本,让模型部署更加经济实用。

那量化的时候有没好用的框架呢?

最常见的就是直接用Llama.Cpp。可以快速的帮我们把这个模型给它量化的比较小。

llama.cpp 的主要目标是在本地和云端的各种硬件上以最少的设置和最先进的性能实现 LLM 推理。

量化后,大小能缩小到原来的 31 。

3、本地知识库接入、部署、智能体上线

最后就是,本地知识库接入、部署、智能体上线。

有没简单的方式去做呢?

Phidata做了很好的封装,它不用我们做太多繁琐的操作。

Phidata为LLMs添加了记忆、知识库和工具。只需要做简单的配置。

3步运行

1、创建 Assistant

2、添加工具(功能)、知识(矢量数据库)和存储(关系型数据库)

3、使用 Streamlit、FastApi 或 Django 构建我们的AI 应用程序

**比如:**读取本地 docx 文件,将其转换为向量嵌入并将其加载到向量数据库中。

from phi.knowledge.text import DocxKnowledgeBase   from phi.vectordb.pgvector import PgVector      from resources import vector_db      knowledge_base = DocxKnowledgeBase(       path="data/docs",       # Table name: ai.docx_documents       vector_db=PgVector(           collection="docx_documents",           db_url=vector_db.get_db_connection_local(),       ),   )

最后看看效果

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

  • 36
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Llama3是一种基于M6的预训练语言模型,通常用于文本生成、问答等自然语言处理任务。它的部署流程一般包括以下几个步骤: 1. **下载模型**:首先需要从Hugging Face的模型库或其他提供者处下载预训练的Llama3模型。你可以使用`transformers`库的`AutoModelForCausalLM`类加载模型。 ```python from transformers import AutoTokenizer, AutoModelForCausalLM model_name = "allenai/llama3-base" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) ``` 2. **环境配置**:确保你的Python环境中已经安装了必要的依赖,如`torch`、`transformers`库以及GPU(如果模型是GPU加速的)。 3. **微调(Fine-tuning)**:如果你有特定的任务数据,可以对模型进行微调。这涉及到将模型放在一个适合的训练循环中,通过输入任务相关的数据并调整模型的权重,使其适应新的上下文。例如,对于序列标注任务,可以使用`Trainer`类: ```python from transformers import Trainer, TrainingArguments # 准备训练数据 train_dataloader = ... # 加载训练数据集 validation_dataloader = ... # 加载验证数据集 training_args = TrainingArguments(..., per_device_train_batch_size=4, ...) trainer = Trainer(model=model, args=training_args, train_dataset=train_dataloader, eval_dataset=validation_dataloader) # 开始微调 trainer.train() ``` 4. **部署**:完成微调后,可以将模型保存到磁盘以便后续使用。然后,在生产环境中,加载模型并调用其`generate()`或`predict()`方法来处理新的文本请求。 请注意,由于Llama3是一个较大的模型,它可能会消耗大量的计算资源,并且微调过程可能需要较长的时间。另外,模型部署通常会涉及服务器、API设计、性能优化等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值