使用unsloth本地微调开源大模型步骤
一、微调前准备工作
环境准备:建议使用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?
如果不是为了自己奋斗,又是为谁;如果不是现在奋斗,什么时候开始呢?
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)