核心内容摘要
探索文字的边界:小黄书网站官方版,重塑阅读的无限可能
import torch from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM model_dir rD:\pyprojecgt\flaskProject\langchainstudy\modelscope\gpt2-chinese-cluecorpussmall # 创建模型和分词器 model AutoModelForCausalLM.from_pretrained(model_dir) tokenizer AutoTokenizer.from_pretrained(model_dir) print(model)输入处理文本首先通过分词器转化为数字索引如今天→7911921向量化过程数字索引通过embedding层转换为高维词向量输出特性模型输出的是概率分布而非具体文字需要解码转换wte词嵌入层21128词汇表→768维向量wpe位置编码层1024位置×768维维度意义768维表示模型用768个特征描述每个词类比说明二维空间身高头发长度2个特征三维空间增加肤色特征768维模型使用768个特征描述词语扩展说明更大模型可能使用1024维词向量为什么不能用统一的编码独特性每个模型的词向量库都是独立训练的原因分析模型功能特异性导致需要定制化词向量目前不存在真正的通用模型能处理所有任务的模型实践影响不同模型需要使用配套的分词器和词表主要现在造不出来通用模型千问模型按任务与语料特性区分的原因技术限制硬件瓶颈当前设备不足以支撑真正的通用模型性能权衡单一模型难以在所有任务上都达到最优表现设计哲学任务适配根据编程、数学、聊天等不同任务需求定制模型语料优化各模型使用特定领域数据进行专项训练实现差异词向量库不同模型拥有独立的vocab编码和tokenizerembedding词向量库根据领域语料进行针对性训练参数量从Qwen
B到235B参数按需配置模型规模输出层分析基础组件任何模型都包含词向量层和位置编码层这是模型处理输入数据的第一阶段。
核心结构真正的模型层次从ModuleList开始该部分包含模型的主要计算模块。
层数要求GPT2模型要求最低层数为12层少于12层的模型将无法有效工作。
输出层维度为21128与词汇表大小完全对应。
文本生成的本质分类任务与概率输出核心机制文本生成模型的本质是一个分类任务输出的是词汇表中每个词被选中的概率值。
输出形式模型每次预测都会输出21128个概率值对应词汇表中的21128个可能的词。
白 可以填什么 白色 白天文本生成的逻辑基于概率的填空题工作原理以白字为例后续可能接色(概率
0.
、天(概率
0.
、大(概率
0.
、下(概率
0.
等词。
选择策略模型会选择概率最高的词作为输出如白色和白天都是合理选择而白大则概率较低。
实现方式通过不断选择当前概率最高的词进行拼接完成整个文本的生成过程。
temperature参数作用控制文本生成的随机性值越低生成的文本越保守倾向于选择概率较高的词值越高生成的文本越多样倾向于选择更多不同的词。
典型值为
7。
随机性表现每次生成内容不同是因为模型不是直接选择概率最大的词而是通过temperature参数进行概率采样。
极端情况当temperature0时模型会固定选择概率最大的词导致提示词不变时输出完全相同。
但当前API版本不允许temperature0需改用do_sampleFalse实现固定输出。
top_k机制限制模型每一步仅从概率最高的k个词中选择下一个词如k50表示只考虑前50个候选词避免选择低概率词导致质量下降。
参数协同temperature
7表示从前50个token中以
7的随机性采样既保证质量又避免重复。
重复问题小模型即使使用参数控制仍可能出现色色色...这类重复这是模型理解能力不足导致的固有缺陷。