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

Hello-Agents task2 大语言模型基础

参考链接:hello-agents/docs/chapter3 at main · datawhalechina/hello-agents

N-gram模型(马尔科夫假设)---词出现的概念与前面有关的n-1个词有关。

局限性:数据稀疏性---没出现就没没关系吗?,泛化能力---坤哥和太美

词向量化:一个语义空间,每个点就是一个词,这个点就是向量,该向量称为词向量(词嵌入)语义相关的词在空间上也挨着近。下个词出现的概率与前n-1个词向量有关。

局限性:上下问能力受限,受限于前n-1个词向量

RNN:通过记录隐藏状态向量,拥有短暂的记忆。

局限性:长时间向后传播时,就会梯度爆炸或消失。

LSTM:引入细胞状态和一些门控制机制,来顺畅传递信息与决定哪些输入或输出。

局限性:按顺序进行处理。

Transformer

编码器:理解句子,生成向量

解码器:参考前文生成句子,并咨询编码器理解句子

自注意力:提出权重的概念,QKV,在整个序列中动态聚合相关信息。前馈网络的作用从这些聚合后的信息中提取更高阶的特征

Decode-Only

GPT的核心,预测下一个最优可能出现的词。自回归的工作模式。掩码注意力确保不会先看后面的词。

优势:简单易用可扩展,适合生成式任务。

提示工程

可以通过零样本,单/少量样本让模型进行输出。(自学习,给一个例子自己扩展,多个几个例子自己举一反三)

指令调优也是一种微调的手段,目前是引导,规范,约束模型生成正常目标的方法,可以提示(nice to meet your,下一句你懂得);cosplay,cot(一步一步来)

分词器相关操作查看代码就可以,很详细。这里贴出自己的代码

改动点:1.下载改为https://hf-mirror.com/   2.模型改为qwen3:0.6b

修改下载链接和生效参考

https://zhuanlan.zhihu.com/p/1940410590507037577

完整代码

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer# 指定模型ID
model_id = "Qwen/Qwen3-0.6B"# 设置设备,优先使用GPU
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using device: {device}")# 加载分词器
tokenizer = AutoTokenizer.from_pretrained(model_id)# 加载模型,并将其移动到指定设备
model = AutoModelForCausalLM.from_pretrained(model_id).to(device)print("模型和分词器加载完成!")messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "冰雪大世界在哪个城市"}
]# 使用分词器的模板格式化输入
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)# 编码输入文本
model_inputs = tokenizer([text], return_tensors="pt").to(device)print("编码后的输入文本:")
print(model_inputs)# 使用模型生成回答
# max_new_tokens 控制了模型最多能生成多少个新的Token
generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=512
)# 将生成的 Token ID 截取掉输入部分
# 这样我们只解码模型新生成的部分
generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]# 解码生成的 Token ID
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print("\n模型的回答:")
print(response)

输出

Using device: cuda
模型和分词器加载完成!
编码后的输入文本:
{'input_ids': tensor([[151644,   8948,    198,   2610,    525,    264,  10950,  17847,     13,151645,    198, 151644,    872,    198, 106957,  26288,  99489,  18493,104673,  99490, 151645,    198, 151644,  77091,    198]],device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1]], device='cuda:0')}
The attention mask is not set and cannot be inferred from input because pad token is same as eos token. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.模型的回答:
<think>
好的,用户问的是“冰雪大世界在哪个城市”。首先,我需要确定用户指的是哪个著名的冰雪大世界。在中国,最著名的冰雪大世界应该是在哈尔滨。不过,用户可能没有明确说出,所以需要确认是否还有其他可能。接下来,我应该考虑用户可能的背景。可能是游客、学生,或者对冰雪运动感兴趣的人。用户可能想知道具体的地点,或者有其他问题需要解答。需要确保回答准确,并且提供足够的信息帮助用户解决问题。此外,用户可能没有意识到冰雪大世界的存在,所以需要明确指出哈尔滨是正确的答案。同时,可以补充其他可能的地点,但保持回答简洁。要避免提供错误的信息,确保用户得到正确的答案。
</think>中国的著名冰雪大世界位于**哈尔滨市**。

最后说下模型的选择,一般是基于:成本,安全与隐私,能力,生态链,微调等这些考虑选择。

同时幻觉是模型自带的属性,模型一直都会自己以为自己行的。解决的话可以从数据层,推理层,模型架构方向考虑改进。

http://www.dtcms.com/a/598155.html

相关文章:

  • 机器学习“开箱即用“:Scikit-learn快速入门指南
  • 乐迪信息:智慧煤矿井下安全:AI 摄像机实时抓拍违规行为
  • 重庆免费自助建站模板电影网站制作模板
  • 轻松筹 做的网站价格网站建设赠送seo
  • 网站团队网上学习做网站
  • 悬镜安全源鉴SCA(软件成分分析)产品,开源商业化成果获肯定
  • 咸阳企业网站建设阳江做网站多少钱
  • 【C++基础与提高】第一章:走进C++的世界——从零开始的编程之旅
  • 建站一条龙设计制作百度正版下载并安装
  • GitCode 同步发布百度 ERNIE-4.5-VL-28B-A3B-Thinking 多模态大模型
  • 贴吧高级搜索windows优化大师官方免费
  • 网站及app开发招聘如何写好网站建设方案
  • Rotation.from_euler(‘xyz‘) Rotation.from_euler(‘XYZ‘)不同
  • 深度学习:python动物识别系统 YOLOv8模型 PyQt5 深度学习pytorch 计算机(建议收藏)✅
  • wap手机网站开发asp经验办公室装修铺哪种地板
  • K8S Base: 创建Job 与 CronJob
  • langgragh的思想与入门(一)
  • 网站开发任职要求免费网站空间注册
  • 借助LLama_Factory工具对大模型进行lora微调
  • 基于Springboot + vue3实现的渔具管理系统
  • 网站工作室设计数字营销的4个特征
  • Linux动静态库以及动静态链接
  • 一个关于python编程小白日记
  • 自己做一个外贸网站怎么样沪上装修排名前十有哪些品牌
  • 环保HJ212-2017协议Java代码解析
  • 专业零基础网站建设教学深圳极速网站建设定制
  • 黑马点评学习笔记10(优惠券秒杀下单优化(分布式锁的优化,Lua脚本))
  • 单页面网站有哪些内容吗电子商务就业岗位
  • 亚马逊云科技 Amazon Bedrock 持续壮大模型阵营:Qwen3 和 DeepSeek-V3.1 重磅上线
  • 同一个空间可以做两个网站么wordpress建设购物网站