使用cursor 完成大模型微调SFT,conda创建环境到最后运行,一招搞定。详细版。

都说cursor挺火的,我也来试试。 由于实验室服务器最近链接不了网,我拿我电脑4060找一个小的试试。做一个简单的SFT

1.首先打开一个空文件夹,为test.

你先用conda 创建一个环境,然后激活

现在cursor 上输入  >  选择python解释器

即使上面是黄色感叹号也没啥,继续选择,然后它会自动激活环境,

2.检查环境是否正确激活,在终端 输入conda  env list.

# conda environments:
#
base                  *  /opt/anaconda3
myenv                    /opt/anaconda3/envs/myenv

前面带 ✳ 代表当前使用的环境是那个。

3. 创建一个空的main.py文件。

4.那接下来,就可以编写代码了。我们使用yelp_review_full 这个数据集。

# 首先在终端运行以下命令安装 datasets 库:
# pip install datasets
from datasets import load_dataset
dataset = load_dataset("yelp_review_full")

# 查看数据集的训练集
print(dataset["train"])

# 查看数据集的测试集
print(dataset["test"])

哈哈哈,让deepseek给你们介绍一下这个数据集。那print一下,就是下面这个样子

5、由于我们是做文本分类,那么需要分类器,将这些长短不一文本转换成token,才能被模型理解。

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")

def tokenize_function(examples):
    return tokenizer(examples["text"], padding="max_length", truncation=True)
tokenized_datasets = dataset.map(tokenize_function, batched=True)

6、接下来 准备加载预训练模型。我们使用bert模型

from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained("google-bert/bert-base-cased", num_labels=5, torch_dtype="auto")

7、剩下的就tab tab tab 哈哈哈 真舒坦,这个太好用了

这里说明一下  ,在微调中直接调用Hugging face中的trainer这个类 进行微调,默认是 全参数微调

 完整代码如下

# 首先在终端运行以下命令安装必要的库(如果使用 GPU 请确保安装 CUDA 版本的 PyTorch):
# pip install datasets transformers torch accelerate tensorboard --index-url https://download.pytorch.org/whl/cu118
from datasets import load_dataset
from transformers import AutoTokenizer
from transformers import AutoModelForSequenceClassification
from transformers import Trainer, TrainingArguments
import torch


#加载数据集
dataset = load_dataset("yelp_review_full")

# 对数据集进行分词
tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")
def tokenize_function(examples):
    return tokenizer(examples["text"], padding="max_length", truncation=True)
tokenized_datasets = dataset.map(tokenize_function, batched=True)

small_train_dataset = tokenized_datasets["train"].shuffle(seed=42).select(range(1000))
small_eval_dataset = tokenized_datasets["test"].shuffle(seed=42).select(range(1000))

#加载预训练模型
model = AutoModelForSequenceClassification.from_pretrained(
    "google-bert/bert-base-cased", 
    num_labels=5,
)

# 设置训练参数
training_args = TrainingArguments(
    output_dir="test_trainer",
    per_device_train_batch_size=8,    # 增加batch size
    per_device_eval_batch_size=8,
    num_train_epochs=10,              # 训练轮数
)

# 创建 Trainer 对象
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=small_train_dataset,
    eval_dataset=small_eval_dataset,
)


# 训练模型
trainer.train()

# 保存模型
model.save_pretrained("test_trainer")

接下来,运行结束后,输出的结果都保存到这个test_trainer中去了。

### PyTorch 和 Cursor 安装指南 #### PyTorch 安装方法 PyTorch 是一种流行的深度学习框架,支持动态计算图和高效的张量操作。为了正确安装 PyTorch,请按照官方推荐的方式执行命令。通常情况下,可以通过 `pip` 工具完成安装。 对于 CPU 本的 PyTorch 安装,可以运行以下命令: ```bash python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu[^2] ``` 如果需要 GPU 支持,则需确保本地已配置好 NVIDIA CUDA 驱动程序以及 cuDNN 库,并使用如下命令进行安装: ```bash python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118[^3] ``` 上述命令中的 `cu118` 表示兼容 CUDA 11.8 的本号,具体可根据实际需求调整至其他 CUDA 本。 当遇到权限不足或者拒绝访问等问题时,建议采用 `-m` 参数形式调用 `pip` 来解决此类问题[^1]。 #### Cursor 安装方法 Cursor 并不是一个标准 Python 软件包名称,在常规库列表中未被记录。如果是特定领域工具或自定义模块,请确认其确切命名及来源地址后再尝试安装。一般而言,第三方库可通过指定仓库索引 URL 或直接下载源码编译来实现部署。 假设目标确实存在并遵循 PEP 503 标准存储结构,则可参照下面通用流程操作: 通过 Pip 进行在线获取(替换 `<cursor_version>` 为所需的具体标签名): ```bash python -m pip install cursor==<cursor_version> --upgrade[^4] ``` 若项目托管于 GitHub 等平台且提供 setup.py 文件的话,也可以克隆远程分支后手动构建环境变量加载路径下的依赖关系链路。 ```bash git clone https://github.com/example-user/cursor.git && cd cursor python -m pip install .[^5] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值