当前位置: 首页 > news >正文

通过conda安装unsloth

一、通过 Conda 安装 Unsloth 的详细步骤,将帮助在本地环境中设置并使用 Unsloth 进行大语言模型的微调和推理。

步骤 1:安装 Anaconda 或 Miniconda

如果你尚未安装 Anaconda 或 Miniconda,请先从以下链接下载并安装:

  • Anaconda 官网
  • Miniconda 官网

安装完成后,打开 Anaconda Prompt 或终端。

步骤 2:创建新的 Conda 环境

创建一个新的 Conda 环境,推荐使用 Python 3.11 或更高版本。你可以根据需要选择合适的 Python 版本。

bash复制

conda create --name unsloth_env python=3.11

激活新创建的环境:

bash复制

conda activate unsloth_env

步骤 3:安装 PyTorch 和 CUDA 工具包

根据你的系统配置和 GPU 类型,安装合适的 PyTorch 和 CUDA 工具包。以下是安装命令的示例:

  • 对于 CUDA 12.1

    bash复制

    conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
    

如果你没有 GPU 或不需要 GPU 支持,可以安装 CPU 版本的 PyTorch:

bash复制

conda install pytorch torchvision torchaudio cpuonly -c pytorch

步骤 4:安装 Unsloth

目前,Unsloth 的安装需要从源代码进行。运行以下命令来安装需要cuda121版本的 Unsloth 及其依赖项:

需要先安装git :conda install git -y

bash复制

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

由于没有 GPU,可以忽略 CUDA 相关的依赖项,直接安装 CPU 版本的依赖项。

bash复制

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

可以改为手动安装,如下分步实施的代码:

手动克隆仓库
如果上述方法都无法解决问题,你可以尝试手动克隆仓库,然后安装:
打开终端或命令提示符,运行以下命令克隆仓库:
bash
复制
git clone https://github.com/unslothai/unsloth.git
进入克隆的仓库目录:
bash
复制
cd unsloth
使用 pip 安装:
bash
复制
pip install ".[colab-new]"

无论是否使用cuda,都还需要安装一些额外的依赖项:

bash复制

pip install --no-deps trl peft accelerate bitsandbytes

步骤 5:验证安装

安装完成后,可以通过以下命令验证 Unsloth 是否安装成功:

bash复制

python -c "import unsloth; print(unsloth.__version__)"

如果输出了版本号,则表示安装成功。

步骤 6:使用 Unsloth

以下是一个简单的代码示例,展示如何使用 Unsloth 微调一个 Llama 模型:

Python复制

from unsloth import FastLanguageModel
from trl import SFTTrainer
from transformers import TrainingArguments
from datasets import load_dataset

# 加载数据集
url = "https://huggingface.co/datasets/laion/OIG/resolve/main/unified_chip2.jsonl"
dataset = load_dataset("json", data_files={
   "train": url}, split="train")

相关文章:

  • 多线程—应用案例
  • Android一个APP里面最少有几个线程
  • 语法革新:AI 生成的 PanLang 语法体系深度解析——PanLang 原型全栈设计方案与实验性探索3
  • CH32V208GBU6沁恒协议栈BUG:在主机Write的同一包notify会造成主机一直Write不成功
  • 从汽车 BCM 方案看国产 MCU 芯片的突围与挑战
  • Netty源码—4.客户端接入流程二
  • 1167. 【宽度优先搜索BFS】数字交换游戏(保姆教程)(打破垄断)
  • ffmepg介绍(二)——解码
  • FlauBERT:面向法语的无监督语言模型预训练
  • 《人工智能赋能网络拓扑分析:洞察关键节点与脆弱链路》
  • 好吧好吧,看一下达梦的模式与用户的关系
  • 数据库数值函数详解
  • 二分查找------查找区间
  • 进程间通信 ─── linux第22课
  • STM32 的tf卡驱动
  • DAY37 动态归化Ⅰ基础题目
  • 深入LangChain:LLM交互机制与RAG集成的技术
  • 三主热备架构
  • 原生微信小程序基础语法--快速总结
  • 架构师面试(二十):CAP 定理
  • 51岁国家移民管理局移民事务服务中心联络部副主任林艺聪逝世
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • 游戏论|迟来的忍者与武士:从《刺客信条:影》论多元话语的争议
  • 我驻美使馆:中美并没有就关税问题磋商谈判,更谈不上达成协议
  • AI翻译技术已走向大规模商用,应用场景覆盖多个关键领域
  • 中国和阿塞拜疆签署互免签证协定