一、微调前准备工作

环境准备:建议使用linux系统和anaconda进行环境的部署,输入

cat /proc/version 

查看版本信息,以下是我所用的版本信息:

Linux version 6.8.0-38-generic (buildd@lcy02-amd64-049) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #38-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun  7 15:25:01 UTC 2024

创建anaconda环境,记得使用python3.11,anaconda在linux上安装和创建环境的过程可以去其他教程查找,暂且不多赘述。

安装unsloth:

unsloth官网地址:https://github.com/unslothai/unsloth

下载unsloth文件,这里只需要其中的unsloth文件,这里修改成了在Linux上微调,

我们之后会使用pytorch2.3.0配合cuda12.1版本的gpu进行微调所以安装cuda12.1版本的unsloth以下是官方给出的安装代码:

conda create --name unsloth_env \
    python=3.11 \
    pytorch-cuda=12.1 \
    pytorch cudatoolkit xformers -c pytorch -c nvidia -c xformers \
    -y
conda activate unsloth_env

pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"

pip install --no-deps "trl<0.9.0" peft accelerate bitsandbytes

安装必要的依赖项,运行微调代码的时候缺什么安装什么就行,这里主要注意torch和xformer的安装以及版本匹配问题。

建议使用我给出的版本以避免版本冲突问题:

pip install torch==2.3.0 --index-url https://download.pytorch.org/whl/cu121
pip install xformers==0.0.25.post1

测试安装是否成功:

nvcc  --version
python -m xformers.info
python -m bitsandbytes

二、资源准备工作

从huggingface(https://huggingface.co/)上下载你需要的模型,这里我选择shenzhi-wang/Llama3-8B-Chinese-Chat做示范,事实上qwen的中文预训练模型也很不错。

准备json格式的数据集,huggingface上有公共的数据集,也可以通过chatGPT上的Alpaca Dataset制作自己的数据集。这里我选择huggingface上的数据集下载下来:Seikaijyu/Beautiful-Chinese,也可以自定义自己的数据集,只要是json格式的就行,可以使用以下chatGPT的插件Alpaca Dataset制作自己的数据集,

下载脚本文件:GitHub - onekid/unsloth: unsloth的本地化改造

将模型文件和数据集都放到unsloth根目录中,其中的fine-tuning.py为微调脚本,在我们之前设置的环境中运行,出现的lora_model文件夹就是生成的lora模型,output文件夹中为微调的大模型。


因为项目过去两个月可能有细节出错,但是大致流程是没问题的,欢迎在评论区指出问题,当前得到的模型是未经过量化的.safetensors格式,下一期我将描述如何使用llama.cpp量化所得到的模型文件,欢迎关注~


读者福利:倘若大家对大模型抱有兴趣,那么这套大模型学习资料肯定会对你大有助益。

针对0基础小白:

如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

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

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

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

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

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

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

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

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

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

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

👉大模型实战案例👈

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

在这里插入图片描述

👉大模型视频和PDF合集👈

这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难

在这里插入图片描述
在这里插入图片描述


请添加图片描述

👉学会后的收获:👈

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

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

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

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

👉获取方式:

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

学习路上没有捷径,只有坚持。但通过学习大模型,你可以不断提升自己的技术能力,开拓视野,甚至可能发现一些自己真正热爱的事业。

最后,送给你一句话,希望能激励你在学习大模型的道路上不断前行:

If not now, when? If not me, who?
如果不是为了自己奋斗,又是为谁;如果不是现在奋斗,什么时候开始呢?

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐