一、什么是语言模型?

一、什么是语言模型?

各位读者好,欢迎收看我的新专栏大语言模型实战系列,本专栏主要讲述大模型实际操作部门内容,不会特别涉及底层概念,主要是了解和用,这次为第一节,什么是语言模型?

本节我们主要是调用一个实例来看看语言模型能做什么?

当我们使用LLM时,需要加载两个模型:

  • 生成模型本身
  • 其底层的分词器(tokenizer)
    分词器负责在将输入文本送入生成模型之前,将其分割成词元。我们可以在Hugging Face网站上找到分词器和模型,只需要传入相应的ID即可。

功能包

首先我们需要安装依赖功能包

python 复制代码
pip install transformers>=4.40.1 accelerate>=0.27.2

模型与分词器

第一步是将模型加载到 GPU 上以加快推理速度。请注意,我们将模型和分词器分开加载(非必要)。这里我们以microsoft/Phi-3-mini-4k-instruct作为模型的主路径。

python 复制代码
from transformers import AutoModelForCausalLM, AutoTokenizer

# Load model and tokenizer
model = AutoModelForCausalLM.from_pretrained(
    "microsoft/Phi-3-mini-4k-instruct",
    device_map="cuda",
    torch_dtype="auto",
    trust_remote_code=False,
)
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct")

输出:

虽然我们现在可以直接使用模型和分词器,但除此之外在transformers库种可以有简化过程,将其(模型、分词器和文本生成过程)封装在 pipeline 对象中,也就是装成一个单一的函数,就变得容易得多:

python 复制代码
from transformers import pipeline

# 创建流水线
generator = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    return_full_text=False,
    max_new_tokens=500,
    do_sample=False
)

输出:

Device set to use cuda

The following generation flags are not valid and may be ignored: ['temperature']. Set TRANSFORMERS_VERBOSITY=info for more details.

注意:

  • return_full_text 将其设置为False时,只返回模型的输出结果,而不包含提示词
  • max_new_tokens 此为允许模型生成的最大词元数。通过限制,我们可以避免过长或异常的输出,因为某些模型可能会一直生成输出直到达到他们上下文窗口的限制。
  • do_sample 决定模型是否采用采样策略来选择下一个词元。设置为False代表模型将始终选择概率最高的下一个词元。

示例

最后,我们以用户身份创建提示并将其提供给模型:

python 复制代码
# 提示词(用户输入/查询)
messages = [
    {"role": "user", "content": "生成一个有关俄罗斯的笑话。"}
]

# 生成输出
output = generator(messages)
print(output[0]["generated_text"])

输出:

有一天,一个俄罗斯人在街上看着一只猫。他问:"它是俄罗斯的猫吗?"猫咪回答说:"不,我来自美国。"人惊讶地问:"那你是什么品种?"猫咪笑着回答:"我是猫咪,不管我的国籍。"

(注意每次生成都不相同哦!

相关推荐
吴佳浩6 小时前
Python入门指南(七) - YOLO检测API进阶实战
人工智能·后端·python
tap.AI6 小时前
RAG系列(二)数据准备与向量索引
开发语言·人工智能
老蒋新思维6 小时前
知识IP的长期主义:当AI成为跨越增长曲线的“第二曲线引擎”|创客匠人
大数据·人工智能·tcp/ip·机器学习·创始人ip·创客匠人·知识变现
货拉拉技术7 小时前
出海技术挑战——Lalamove智能告警降噪
人工智能·后端·监控
wei20237 小时前
汽车智能体Agent:国务院“人工智能+”行动意见 对汽车智能体领域 革命性重塑
人工智能·汽车·agent·智能体
LinkTime_Cloud7 小时前
快手遭遇T0级“黑色闪电”:一场教科书式的“协同打击”,披上了AI“智能外衣”的攻击
人工智能
PPIO派欧云7 小时前
PPIO上线MiniMax-M2.1:聚焦多语言编程与真实世界复杂任务
人工智能
隔壁阿布都7 小时前
使用LangChain4j +Springboot 实现大模型与向量化数据库协同回答
人工智能·spring boot·后端
Coding茶水间7 小时前
基于深度学习的水面垃圾检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
乐迪信息8 小时前
乐迪信息:煤矿皮带区域安全管控:人员违规闯入智能识别
大数据·运维·人工智能·物联网·安全