使用 Hugging Face Transformers 微调和部署 GPT 模型 | 教程

如何高效微调多模态Transformers模型:从入门到实践指南 Transformers 是一种基于注意力机制的深度学习模型,最初被用于自然语言处理任务。其主要特点是能够捕捉长距离依赖关系,同时支持并行计算,极大提高了训练速度和效果。近年来,transformers 也被扩展应用到其他模态,如图像和音频。 阅读详情

对于机器学习研究员和爱好者而言,Hugging Face 如今已是一个家喻户晓的名字。 他们最显著的成果之一便是Transformers,这是一个适用于文本、计算机视觉、音频和视频领域机器学习模型的模型定义框架。 由于Hugging Face Hub上拥有海量最先进的机器学习模型,并且 Transformers 能与绝大多数训练框架兼容,该框架被广泛应用于推理和模型训练。

为什么要对 AI 模型进行微调?

对 AI 模型进行微调至关重要,其核心作用是让模型性能适配特定任务与数据集,相较于使用通用模型,经微调的模型能实现更高的准确性与效率。 通过对预训练模型进行适配,微调无需从头开始训练模型,大幅节省了时间与资源。 同时,它还能让模型更好地处理特定领域内的专属格式、细微差异和边缘用例,进而生成更可靠、更贴合需求的输出。

在这篇博文中,我们将对 GPT 模型的数学推理能力进行微调,使其能更出色地处理数学问题。

使用来自 Hugging Face

的模型行微调

使用 PyCharm 时,我们可以轻松浏览并添加来自 Hugging Face 的任何模型。 在新建的 Python 文件中,从顶部的Code(代码)菜单中选择Insert HF Model(插入 HF 模型)。

在弹出的菜单中,您既可以按类别浏览模型,也可以在顶部的搜索栏中输入内容进行索。 选中某个模型后,您可以在右侧查看模型说明。

点击 Use Model(使用模型)后,您会看到一段代码已添加到文件中。 至此操作即完成,您已准备好开始使用 Hugging Face 模型。

GPT(生成式预训练

Transformer)模型

在Hugging Face Hub上,GPT 模型非常受欢迎,但 GPT 模型究竟是什么呢? GPT 是一类经过训练的模型,能够理解自然语言并生成高质量文本。 它们主要应用于文本蕴含、问答、语义相似度判断及文档分类等相关任务。 其中最知名的模型便是OpenAI 开发的 ChatGPT。

目前,Hugging Face Hub上提供了多款 OpenAI GPT 模型,在后续内容中,我们将学习如何通过 Transformers 使用这些模型、如何利用自有数据对其进行微调,以及如何在应用程序中部署这些模型。

使用 Transformers 的优势

Transformers 与 Hugging Face 提供的其他工具相结合,为微调各类复杂深度学习模型提供了高阶工具。 这类工具无需您完全理解某一模型的架构与词例化方法,就能帮助让模型实现“即插即用”,适配任意兼容的训练数据,同时在词例化与训练环节还提供了丰富的自定义空间。

Transformers 实际运作

为了更直观地了解 Transformers 的实际运作方式,我们来看看如何通过它与 GPT 模型进行交互。

使用预训练模型通过管道进行推理

选择 OpenAI GPT-2 模型并将其添加到代码中后,我们会得到如下内容:

from transformers import pipeline
pipe = pipeline("text-generation", model="openai-community/gpt2")

使用前,我们需要做一些准备工作。 首先,我们需要安装一个机器学习框架。 在本例中,我们选择了PyTorch。 您可以通过 PyCharm 中的 Python Packages(Python 软件包)窗口轻松完成安装。

接下来,我们需要使用 torch 选项安装 Transformers。 您可以通过终端进行此操作 – 点击左侧的按钮打开终端,或者使用⌥ F12(macOS) 或Alt + F12(Windos) 热键。

在终端中,由于我们正在使用 uv,需要使用以下命令将其添加为依赖项并完成安装:

uv add “transformers[torch]”
uv sync

如果您使用 pip:

pip install “transformers[torch]”

我们还将安装后续会用到的另外几个库,包括 python-dotenv、datasets、notebook 以及 ipywidgets。 您可以通过上述任意一种方法安装这些库。

之后,最好添加一个 GPU 设备来加速模型。 您可以通过在管道中设置 device 参数来添加,具体取决于设备配置。 由于我使用的是 Mac M2 设备,我可以像这样设置device="mps":

pipe = pipeline("text-generation", model="openai-community/gpt2", device="mps")

如果您有 CUDA GPU,也可以设置device="cuda"。

现在,我们已经设置好了管道,下面用一条简单的提示来试一下:

from transformers import pipeline
pipe = pipeline("text-generation", model="openai-community/gpt2", device="mps")
print(pipe("A rectangle has a perimeter of 20 cm. If the length is 6 cm, what is the width?", max_new_tokens=200))

点击顶部的 Run(运行)按钮 ():

运行结果大致如下所示:

[{'generated_text': 'A rectangle has a perimeter of 20 cm. If the length is 6 cm, what is the width?nnA rectangle has a perimeter of 20 cm. If the length is 6 cm, what is the width? A rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width? A rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width? A rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width?nnA rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width? A rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width? A rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width? A rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width?nnA rectangle has a perimeter of 20 cm. If the width is 6 cm, what is the width? A rectangle has a perimeter'}]

这段输出完全没有什么逻辑可言,只是一堆无意义的内容。

您可能还会看到如下警告:

Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.

这是默认设置。您也可以按以下方式手动添加,以便消除此警告,但在当前阶段,我们无需过分关注此问题。

print(pipe("A rectangle has a perimeter of 20 cm. If the length is 6 cm, what is the width?", max_new_tokens=200, pad_token_id=pipe.tokenizer.eos_token_id))

我们现在已经了解了 GPT-2 默认状态下的表现,接下来看看能否通过一些微调,让它在数学推理方面的能力有所提升。

从 Hugging Face Hub 加载

并准备数据集

在处理 GPT 模型之前,我们首先需要训练数据。 下面来看看如何从 Hugging Face Hub 获取数据集。

如果尚未注册,请先注册一个 Hugging Face 帐户并创建访问令牌。 目前我们只需要一个 read 令牌。 将令牌存储在 .env 文件中,如下所示:

HF_TOKEN=your-hugging-face-access-token

我们将使用这个数学推理数据集,其中包含描述一些数学推理的文本。 我们会用这个数据集对 GPT 模型进行微调,使其能更有效地解决数学难题。

我们来新建一个 Jupyter Notebook 用于进行微调,因为它能让我们逐个运行不同的代码段并监控进度。

在第一个单元中,我们使用以下脚本从 Hugging Face Hub 加载数据集:

from datasets import load_dataset
from dotenv import load_dotenv
import os
load_dotenv()
dataset = load_dataset("Cheukting/math-meta-reasoning-cleaned", token=os.getenv("HF_TOKEN"))
dataset

运行此单元(所需时间可能较长,具体取决于网络速度),它会下载数据集。 完成后,我们可以查看结果:

DatasetDict({
train: Dataset({
features: ['id', 'text', 'token_count'],
num_rows: 987485
})
})

如果您好奇并想快速查看一下数据,可以在 PyCharm 中操作。 点击右侧的按钮,打开 Jupyter Variables(Jupyter 变量)窗口:

展开dataset,您会在dataset[‘train’]旁边看到View as DataFrame作为 DataFrame 查看)选项。

点击该选项,即可在 Data View(数据视图)工具窗口中查看数据:

接下来,我们将对数据集中的文本进行词例化:

from transformers import GPT2Tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")
tokenizer.pad_token = tokenizer.eos_token
def tokenize_function(examples):
return tokenizer(examples['text'], truncation=True, padding='max_length', max_length=512)
tokenized_datasets = dataset.map(tokenize_function, batched=True)

这里我们将使用 GPT-2 分词器,并将pad_token设置为eos_token(即表示行尾的 token)。 之后,我们会通过一个函数对文本进行词例化。 首次运行时可能需要一段时间,但之后会进行缓存,如果需要再次运行该单元,速度会加快。

该数据集包含近 100 万行训练数据。 如果您的算力足以处理所有数据,可以全部都用。 不过,在本演示中,我们是在本地笔记本电脑上进行训练,因此最好只使用一小部分数据!

tokenized_datasets_split = tokenized_datasets["train"].shard(num_shards=100, index=0).train_test_split(test_size=0.2, shuffle=True)
tokenized_datasets_split

这里我只选取 1% 的数据,然后执行train_test_split来将数据集分为两部分:

DatasetDict({
train: Dataset({
features: ['id', 'text', 'token_count', 'input_ids', 'attention_mask'],
num_rows: 7900
})
test: Dataset({
features: ['id', 'text', 'token_count', 'input_ids', 'attention_mask'],
num_rows: 1975
})
})

现在,我们已准备好对 GPT-2 模型进行微调。

微调 GPT 模型

在接下来的空白单元中,我们将设置训练实参:

from transformers import TrainingArguments
training_args = TrainingArguments(
output_dir='./results',
num_train_epochs=5,
per_device_train_batch_size=8,
per_device_eval_batch_size=8,
warmup_steps=100,
weight_decay=0.01,
save_steps = 500,
logging_steps=100,
dataloader_pin_memory=False
)

这些大多是微调模型的标准配置。 不过,根据您的计算机配置,您可能需要调整以下几项:

  • 批次大小 – 找到最优的批处理大小很重要,因为批次大小越大,训练速度越快。 不过,受限于 CPU 或 GPU 的内存容量,会存在一个上限阈值。
  • 周期 – 周期越多,训练耗时越长。 您可以根据需求确定周期数量。
  • 保存步数 – 该参数决定检查点保存到磁盘的频率。 如果训练速度较慢,且存在意外中断的可能,则建议您增加保存频次(将此值设小一些)。

配置好这些设置后,我们将在下一个单元中整合训练程序:

from transformers import Trainer, DataCollatorForLanguageModeling
model = GPT2LMHeadModel.from_pretrained("openai-community/gpt2")
data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm=False)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_datasets_split['train'],
eval_dataset=tokenized_datasets_split['test'],
data_collator=data_collator,
)
trainer.train(resume_from_checkpoint=False)

我们设置 resume\_from\_checkpoint=False,但如果训练中断,您可以将其设为 True,以便从上次的检查点继续训练。

训练完成后,我们将评估并保存模型:

trainer.evaluate(tokenized_datasets_split['test'])
trainer.save_model("./trained_model")

现在,我们便可以在管道中使用这个训练好的模型了。 让我们切换回 model.py,此前我们在该文件中使用了包含预训练模型的管道:

from transformers import pipeline
pipe = pipeline("text-generation", model="openai-community/gpt2", device="mps")
print(pipe("A rectangle has a perimeter of 20 cm. If the length is 6 cm, what is the width?", max_new_tokens=200, pad_token_id=pipe.tokenizer.eos_token_id))

现在,我们将 model=”openai-community/gpt2″ 改成 model=”./trained\_model”,看看会得到什么结果:

[{'generated_text': "A rectangle has a perimeter of 20 cm. If the length is 6 cm, what is the width?nAlright, let me try to solve this problem as a student, and I'll let my thinking naturally fall into the common pitfall as described.nn---nn**Step 1: Attempting the Problem (falling into the pitfall)**nnWe have a rectangle with perimeter 20 cm. The length is 6 cm. We want the width.nnFirst, I need to find the area under the rectangle.nnLet’s set ( A = 20 - 12 ), where ( A ) is the perimeter.nn**Area under a rectangle:**  n[nA = (20-12)^2 + ((-12)^2)^2 = 20^2 + 12^2 = 24n]nnSo, ( 24 = (20-12)^2 = 27 ).nnNow, I’ll just divide both sides by 6 to find the area under the rectangle.n"}]

遗憾的是,它仍然无法解决这个难题。 不过,它确实生成了一些之前没用过的数学公式和推理。 如果愿意,您可以尝试用我们未使用的数据对模型进行更多微调。

在下一节中,我们将了解如何结合 Hugging Face 提供的工具和 FastAPI,将微调后的模型部署到 API 端点。

部署微调后的模型

在服务器后端部署模型的最简单方式是使用 FastAPI。 我之前写过一篇关于使用 FastAPI 部署机器学习模型的博文。 我们在这里不会深入到同样的细节程度,但会介绍如何部署微调后的模型。

我们借助Junie创建了一些脚本,大家可以在这里看到。 我们可以利用这些脚本部署带有 FastAPI 端点的服务器后端。

我们需要添加一些新的依赖项:

uv add fastapi pydantic uvicorn
uv sync

我们以 main.py 为例,来看一下脚本中一些值得关注的地方:

# Initialize FastAPI app
app = FastAPI(
title="Text Generation API",
description="API for generating text using a fine-tuned model",
version="1.0.0"
)
# Initialize the model pipeline
try:
pipe = pipeline("text-generation", model="../trained_model", device="mps")
except Exception as e:
# Fallback to CPU if MPS is not available
try:
pipe = pipeline("text-generation", model="../trained_model", device="cpu")
except Exception as e:
print(f"Error loading model: {e}")
pipe = None

初始化应用后,脚本会尝试将模型加载到管道中。 如果没有 Metal GPU 可用,就会回退到使用 CPU。 如果您使用的是 CUDA GPU 而非 Metal GPU,可以将 mps 改为 cuda。

# Request model
class TextGenerationRequest(BaseModel):
prompt: str
max_new_tokens: int = 200
# Response model
class TextGenerationResponse(BaseModel):
generated_text: str

创建了两个新类,均继承自 Pydantic 的 BaseModel。

我们还可以通过 Endpoints(端点)工具窗口检查所有端点。 点击第 11 行中的 app = FastAPI 旁边的地球图标,然后选择 Show All Endpoints(显示所有端点)。

我们有三个端点。 由于根端点只是欢迎信息,我们将重点查看另外两个端点。

@app.post("/generate", response_model=TextGenerationResponse)
async def generate_text(request: TextGenerationRequest):
"""
Generate text based on the provided prompt.
Args:
request: TextGenerationRequest containing the prompt and generation parameters
Returns:
TextGenerationResponse with the generated text
"""
if pipe is None:
raise HTTPException(status_code=500, detail="Model not loaded properly")
try:
result = pipe(
request.prompt,
max_new_tokens=request.max_new_tokens,
pad_token_id=pipe.tokenizer.eos_token_id
)
# Extract the generated text from the result
generated_text = result[0]['generated_text']
return TextGenerationResponse(generated_text=generated_text)
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error generating text: {str(e)}")

/generate 端点会收集请求提示,并通过模型生成回答文本。

@app.get("/health")
async def health_check():
"""Check if the API and model are working properly."""
if pipe is None:
raise HTTPException(status_code=500, detail="Model not loaded")
return {"status": "healthy", "model_loaded": True}

/health 端点用于检查模型是否已正确加载。 如果客户端应用程序需要先检查模型状态,然后在其 UI 中开放其他端点,此端点会非常实用。

在 run.py 中,我们使用uvicorn来运行服务器:

import uvicorn
if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)

运行此脚本时,服务器将在 http://0.0.0.0:8000/ 下启动。

开始运行服务器后,我们可以访问 http://0.0.0.0:8000/docs 来测试这些端点。

我们可以通过 /generate 端点来尝试一下:

{
"prompt": "5 people give each other a present. How many presents are given altogether?",
"max_new_tokens": 300
}

我们得到的响应如下所示:

{
"generated_text": "5 people give each other a present. How many presents are given altogether?nAlright, let's try to solve the problem:nn**Problem**  n1. Each person gives each other a present. How many presents are given altogether?n2. How many "gift" are given altogether?nn**Common pitfall**  nAssuming that each present is a "gift" without considering the implications of the original condition.nn---nn### Step 1: Attempting the problem (falling into the pitfall)nnOkay, so I have two people giving each other a present, and I want to know how many are present. I remember that there are three types of gifts—gifts, gins, and ginses.nnLet me try to count how many of these:nn- Gifts: Let’s say there are three people giving each other a present.n- Gins: Let’s say there are three people giving each other a present.n- Ginses: Let’s say there are three people giving each other a present.nnSo, total gins and ginses would be:nn- Gins: ( 2 times 3 = 1 ), ( 2 times 1 = 2 ), ( 1 times 1 = 1 ), ( 1 times 2 = 2 ), so ( 2 times 3 = 4 ).n- Ginses: ( 2 times 3 = 6 ), ("
}

您可以尝试发送其他请求进行测试。

结论和后续行动

现在,大家已经成功使用数学推理数据集微调了像 GPT-2 这样的大语言模型,并通过 FastAPI 完成了部署。后续大家可以对 Hugging Face Hub 上提供的更多开源大语言模型进行微调。 您既可以用平台上的开源数据,也可以用自己的数据集,尝试微调其他大语言模型。 如果您想(并且原始模型的许可证也支持),还可以将微调后的模型上传到 Hugging Face Hub。 具体操作可以参考该平台的文档。

关于使用 Hugging Face Hub 上的资源,或基于这些资源微调模型,最后还有一点需要注意,务必阅读您所使用的任何模型或数据集的许可证,明确使用这些资源的相关条件。 是否允许商业用途? 是否需要注明所使用资源的来源?

在后续的博文中,我们将继续探索更多涉及 Python、AI、机器学习以及数据可视化的代码示例。

在我看来,PyCharm提供了业界顶尖的 Python 支持,能够同时保证速度与准确性。 您可以充分利用其最智能的代码补全、PEP 8 合规性检查、智能重构,以及各类检查,满足您的所有编码需求。 正如这篇博文所展示的,PyCharm 还集成了 Hugging Face Hub 功能,让您无需离开 IDE,即可浏览并使用模型。 这使其非常适合开展各类 AI 和大语言模型微调项目。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!

👇👇扫码免费领取全部内容👇👇

​

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

​

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

创建一个最简单的数据大模型 创建一个最简单的数据大模型其实并不需要从零开始训练一个复杂的模型,可以利用现有的预训练模型进行微调(fine-tuning)来实现。这不仅能让你快速上手,还能在较短的时间内获得不错的效果。以下是步骤和建议:首先,明确你想要模型完成的任务:确定了目标任务后,选择合适的预训练模型进行微调。最简单的大模型就是从现有的预训练模型开始,这样可以节省大量的时间和计算资源。以下是一些常见的预训练模型,可以直接用来进行微调:你可以选择一个开源的、已经预训练好的模型,并在此基础上微调。数据集对于训练非常重要。最简单的做法是使 阅读详情

相关推荐

一、Huggingface 简介

一、Huggingface 简介Hugging Face(抱抱脸)2016年成立于美国纽约, Franco-American 开源AI公司,核心产品为Transformers库+模型共享Hub,被称为AI界GitHub,目标降低AI开发门槛。官网:https://huggingface.co/[图片]一站式托管平台,集成模型、数据集、Spaces在线演示应用,原生支持Git版本管理,可分享/下载模型,快速在线部署Demo。(3)配套工具库工具库核心功能Datasets。

m0_68935893的博客 778

08 Transformers - 微调

本文讲解利用Transformers如何微调大数据模型

汪洋中的一条虫 803

永磁同步电机ADRC控制策略优化:从理论到Simulink仿真实践

本文深入探讨了永磁同步电机自抗扰控制(ADRC)策略的优化与实践。针对传统PID在动态响应、抗扰及噪声抑制方面的不足,详细解析了ADRC三大核心组件——跟踪微分器(TD)、扩张状态观测器(ESO)与非线性状态误差反馈(NLSEF)的工作原理。通过手把手的Simulink仿真教程,展示了从算法编写、模型搭建到参数整定的完整流程,并进阶实现了位置-速度双环ADRC协同控制,为高性能电机伺服系统设计提供了从理论到实践的清晰指南。

root9的博客 412

好书强推丨Transformer模型学会有手就行?这本 Transformer自然语言处理实战 无敌了

Lewis Tunstall是Hugging Face机器学习工程师,致力于为NLP社区开发实用工具,并帮助人们更好地使用这些工具。Leandro von Werra是Hugging Face机器学习工程师,致力于代码生成模型的研究与社区推广工作。Thomas Wolf是Hugging Face首席科学官兼联合创始人,他的团队肩负着促进AI研究和普及的使命。6.1 CNN/DailyMail数据集 2196.2 文本摘要pipeline 2216.3 比较不同的摘要 226。

2301_81940605的博客 2031

STM32F4_LCD显示汉字

LCD显示汉字和显示图片、数字、字符的原理是一样的,都是将汉字、图片、数字以及字符转换点阵,进而通过函数扫描点阵在LCD上显示;

light_2025的博客 1万+

Cadence IC618/Spectre231安装避坑指南:详解环境变量配置与License管理那些事儿

本文深入解析Cadence IC618/Spectre231安装过程中的环境变量配置与License管理难题,提供从变量冲突解决到高效License管理的实用方案。针对常见的64位标识冲突、路径污染及License服务器连接问题,给出具体诊断步骤和优化建议,帮助用户构建稳定可靠的EDA环境。

weixin_33737134的博客 616

Transformer 自然语言处理(一)

当你阅读这些文字时,一个奇迹正在发生:这页上的涂鸦正在在你的大脑皮层中转化为单词、概念和情感。我的 2021 年 11 月的思想现在已成功侵入你的大脑。如果它们设法引起你的注意并在这个严酷而竞争激烈的环境中存活足够长的时间,它们可能有机会再次通过你与他人分享这些思想而繁殖。由于语言,思想已经变得空气中传播并且高度传染的大脑细菌——而且没有疫苗即将出现。幸运的是,大多数大脑细菌是无害的,而一些则非常有用。事实上,人类的大脑细菌构成了我们最宝贵的两个财富:知识和文化。就像我们没有健康的肠道细菌就无法正常消化一样

龙哥盟 1219

.NET 4.0下HttpWebRequest请求HTTPS报错?试试这个注册表修改方案

本文深入解析.NET 4.0下HttpWebRequest请求HTTPS报错问题,提供注册表修改方案以解决'基础连接已经关闭'错误。通过调整SchUseStrongCrypto注册表项,强制使用TLS 1.2等现代加密协议,确保安全连接。适用于企业环境部署和长期维护建议。

weixin_29310631的博客 357

USING TRANSFORMERS(二) | 训练和微调

???? transformer中的模型类被设计为与本机PyTorch和TensorFlow 2兼容,并且可以与其中任何一个无缝使用。在这个快速入门中,我们将展示如何使用两种框架中可用的标准培训工具来微调(或从头开始培训)模型。我们还将展示如何使用包含的Trainer()类,它可以为您处理很多复杂的训练。 本指南假设您已经熟悉加载和使用我们的模型进行推理;否则,请参见任务摘要。我们还假设您熟悉深度神经网络的训练。 在本地PyTorch中进行微调 ???? transformer中不以TF开头的模型类是P

白羊007的博客 1259

C++常见面试题总结

C++常见面试题总结

xu_fu_yong的专栏 8万+

基于AnimeGAN模型生成宫崎骏风格动漫照片

用于动画风格纹理和线条转换的灰度样式丢失;新颖的颜色重建损失,以保留内容图像的颜色;新的灰度对抗损失防止生成的图像从显示为灰度图像;使用深度可分卷积和反向残块的轻量级生成器,以实现更快的传输。实验表明,AnimeGAN可以对真实世界的照片进行变换场景动画风格的图像与高质量的动画视觉效果和显著优于最先进的风格化方法。# 生成宫崎骏风格图片 model = hub . Module('animegan_v1_hayao_60' , use_gpu = True)images:输入的图片数据。

优快云 精品推荐 3630

使用 Hugging Face Transformers 微调和部署 GPT 模型 | 教程,大模型入门到精通,收藏这篇就足够了!

使用 Hugging Face Transformers 微调和部署 GPT 模型 | 教程,大模型入门到精通,收藏这篇就足够了!

2401_82469710的博客 1109

【Claude】Claude Code 子代理(Subagents)完全指南:多 AI 编排与并行任务管理

子代理是在独立上下文窗口特性主代理子代理上下文窗口与你对话的主上下文完全独立的上下文工具权限拥有所有工具可自定义限制生命周期整个会话完成任务后结束通信方式直接对话结果返回给主代理模型继承主会话设置可指定不同模型你可以创建专属子代理,指定模型、工具权限和系统提示。在对话中,Claude 会根据任务自动选择合适的子代理。

博客 5538

PyTorch 2.5自然语言生成:GPT微调部署实战指南

本文介绍了如何在星图GPU平台上自动化部署PyTorch 2.5镜像,并利用该环境进行GPT模型的微调实战。通过预置的PyTorch-CUDA环境,用户可快速启动开发,并完成针对特定任务(如生成符合品牌调性的营销文案)的模型训练与部署,有效降低AI应用门槛。

weixin_36303305的博客 968

单细胞转录组数据分析中的基因ID注释转换问题:如何解决才能注释所有的UMIcount数据?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1126

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Hugging Face 平台与 Transformers 库:AI 工程师的预训练模型生态入门指南

Hugging Face 是目前 AI 领域最具影响力的开源平台之一,它为自然语言处理(NLP)、计算机视觉及其他机器学习任务提供了模型、数据集、工具与库的一站式生态。本文以 developer-roadmap 仓库中 [AI Engineer 学习路径](https://link.gitcode.com/i/7620946ea4569b8e1ab7d8e0937c69f8) 的 Hugging

gitblog_00750的博客 224

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Transformers库用法示例:解锁预训练模型的强大能力

模型丰富:集成了100多种预训练模型(BERT、GPT-2/3、T5、RoBERTa等),支持文本分类、翻译、摘要、问答等30多种任务多框架支持:同时兼容PyTorch和TensorFlow,模型可在两个框架间无缝转换多语言支持:覆盖100多种语言的预训练模型,包括中文专用模型(如bert-base-chinese)易用性强:统一的API设计,加载模型和分词器仅需2行代码,极大降低使用门槛社区活跃:持续更新前沿模型,拥有丰富的文档和示例,问题解决效率高# 加载用于情感分析的BERT模型# 输入文本。

m0_58868237的博客 1409

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

GPT-NeoX 开源项目教程

GPT-NeoX 开源项目教程 项目介绍 GPT-NeoX 是一个开源的、大规模的语言模型库,由 EleutherAI 开发。它支持多种系统和硬件,包括通过 Slurm、MPI 和 IBM Job Step Manager 启动,并且可以在多个大型计算平台上运行,如 AWS、CoreWeave、ORNL Summit、ORNL Frontier 和 LUMI 等。GPT-NeoX 主要用于训练具有...

gitblog_00156的博客 786

Hugging Face Transformers介绍

Transformers 是大模型开发的基础库,核心是统一接口、开箱即用,覆盖模型预训练 / 微调 / 推理全流程它和 llama.cpp/vLLM/Ollama 不是竞争关系,而是互补关系——Transformers 负责 “定制模型”,后三者负责 “高效运行模型”新手入门大模型开发,先学 Transformers 掌握核心逻辑,再用 vLLM/llama.cpp 优化推理性能。

wangkai6666的博客 296

Hugging Face Transformers入门指南:从安装到多模态应用

Transformer架构作为自然语言处理(NLP)领域的革命性技术,通过自注意力机制实现了对序列数据的高效建模。Hugging Face Transformers库将这一技术民主化,提供了超过100万个预训练模型检查点,支持文本、图像、音频等多种模态任务。从技术实现来看,该库封装了模型加载、预处理、推理和后处理的全流程,通过Pipeline API显著降低了使用门槛。在实际工程中,开发者可以快速实现文本生成、语音识别等典型AI任务,同时支持PyTorch、TensorFlow等多框架转换。对于希望快速部署

weixin_30800807的博客 346

Hugging Face Transformers库实战:从零开始搭建你的第一个NLP模型(2024最新版)

本文提供了一份2024年最新的Hugging Face Transformers库实战指南,手把手教你从零搭建首个NLP模型。内容涵盖环境配置、核心概念解析、数据预处理、模型微调及部署全流程,并以情感分析任务为例,详细演示了使用DistilBERT等预训练模型进行高效开发的步骤,助你快速入门AI应用开发。

food6的博客 409

Hugging Face Transformers库入门指南:从安装到实战NLP任务(附BERT/GPT-2示例)

本文详细介绍了Hugging Face Transformers库的入门指南,从安装配置到实战NLP任务,包括BERT和GPT-2模型的加载与应用。通过具体代码示例,帮助开发者快速掌握文本分类、问答系统和命名实体识别等核心功能,提升NLP项目开发效率。

weixin_30485379的博客 397

使用GPT2、FastAPI和ReactJS训练与部署AI格言生成器

好的格言能让我们更坚强。格言真正鼓舞人心的并非其语调或满足感,而是分享者所反映的、真正有益于他人的生活经验。上面这段关于格言的话(格言套娃)并不是我写的,而是我训练的一个AI模型生成的。而且它说得比我可能表达的更好。格言对不同的人意味着不同的事物。有时它们激励我们,鼓舞我们。另一些时候,它们让我们思考生活、宗教,有时它们只是让我们发笑。那么,我们能否训练一个AI模型来生成更多格言,让我们思考、发笑或受到启发?这就是我开始这段旅程的动机。

codeshare1135的博客 298

Transformer模型实战:用Hugging Face快速搭建你的第一个NLP应用

本文详细介绍了如何使用Hugging Face快速搭建基于Transformer模型的NLP应用。从环境配置、预训练模型选择到微调部署,提供完整的实战指南,帮助开发者快速实现情感分析等自然语言处理任务,大幅提升开发效率。

o5p6q的博客 191
上一篇: 万字长文,彻底讲透Agentic RAG!从架构到实践,这一篇就够了
下一篇: 利用anythingLLM轻松搭建AI本地知识库,大模型入门到精通,收藏这篇就足够了!
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值