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

丹东新区建设发展集团网站软文范文大全

丹东新区建设发展集团网站,软文范文大全,过年做那个网站能致富,python培训比较好的机构大模型#xff08;如GPT、BERT、PaLM等#xff09;的成长历程可以看作是一个技术栈的持续进化#xff0c;涉及预训练、微调、强化学习、对齐#xff08;Alignment#xff09;等关键阶段。每个阶段解决不同问题#xff0c;推动模型从“通用语言模型”发展为“有用、安全、… 大模型如GPT、BERT、PaLM等的成长历程可以看作是一个技术栈的持续进化涉及预训练、微调、强化学习、对齐Alignment等关键阶段。每个阶段解决不同问题推动模型从“通用语言模型”发展为“有用、安全、可控的AI助手”。 首先预训练是一个基础过程好比一个刚入武术道的初学者把扎实的基本功打牢固然后才能为后续的难题发功发力。我们这里主要讨论生成式大语言模型。目标就是一个预测下一个token是什么的语言模型。 1 预训练阶段的技术细节 (1) 数据选择与处理 核心目标构建高质量、多样化的训练语料库 关键技术决策 数据来源 通用文本Common Crawl网页、Wikipedia、书籍如Project Gutenberg 专业领域GitHub代码、arXiv科学论文、Medline医学 多模态数据LAION图文对、视频字幕如YouTube-8M 数据过滤 质量过滤 规则过滤移除重复、低语言复杂度如随机字符、非目标语言文本。 分类器过滤训练NSFW检测模型过滤色情/暴力内容GPT-4使用CLIP模型过滤图文数据。 去重 文档级去重MinHash算法和子字符串级去重如GPT-3移除重复的代码片段。 毒性控制 使用Perspective API等工具检测仇恨言论。 数据配比 平衡领域分布如GPT-3中5%代码数据、8%学术论文。 动态采样高频数据降采样避免模型偏向常见领域。 上面叙述了如何准备一个高质量的数据这是一个繁琐且最重要的过程。万丈高楼皆因一个好的地基。我这里使用一个开源的minimind_dataset数据集合。tokenizer预料大概1个G刚好拿来试试手艺。 ./dataset/ ├── dpo.jsonl (909MB) ├── lora_identity.jsonl (22.8KB) ├── lora_medical.jsonl (34MB) ├── pretrain_hq.jsonl (1.6GB, ✨) ├── r1_mix_1024.jsonl (340MB) ├── sft_1024.jsonl (5.6GB) ├── sft_2048.jsonl (9GB) ├── sft_512.jsonl (7.5GB) ├── sft_mini_512.jsonl (1.2GB, ✨) └── tokenizer_train.jsonl (1GB) (2) Tokenizer训练 核心目标高效、无损地将文本转换为模型可处理的token序列 技术流程 算法选择 BPE主流选择GPT/LLaMA系列使用适合英语等空格分隔语言。其核心思想是通过迭代合并高频字符对来构建子词Subword词汇表也是我们主要学习的一个重点。 WordPieceBERT使用处理子词合并时优先高频组合。 UnigramSentencePiece实现基于概率模型删除低概率子词。 特殊需求 代码模型保留空格/缩进如StarCoder使用BPE空格敏感tokenization。 多语言模型SentencePiece直接处理原始字节XLM-R。 训练数据 从预训练数据中采样代表性子集如1-10GB。 需覆盖所有语言/领域避免测试时出现未知token。 关键参数 词汇表大小32KGPT-2→ 100K多语言模型。 特殊token添加|im_start|等对话标记ChatML格式。 归一化规则统一Unicode编码如将“é”规范化为“e”“´”。 评估指标 压缩率平均token数/字符数衡量分词效率。 OOV率测试集未登录词比例。 下游任务影响分词器对模型性能的影响如代码模型需保留缩进信息。 2 中文BPE的特殊性 无空格分隔需人工定义初始切分单元如单字或传统分词结果。 多粒度问题同一个词可能有不同长度的合法切分如“北京大学”可切分为“北京/大学”或“北/京/大/学”。 符号处理需保留中文标点如“”、“。”作为独立token。 2.1. 完整示例基于单字初始化的中文BPE 输入数据已清洗 深度学习很重要 学习深度学习模型 模型训练需要数据 步骤1初始化基础字符词汇表 将每个句子拆分为单字并添加/w标记统计频率 # 拆分结果频率统计 深:1, 度:1, 学:2, 习:2, 很:1, 重:1, 要:1,  模:2, 型:2, 训:1, 练:1, 需:1, 要:1, 数:1, 据:1,  /w:3  # 每句结尾一个 初始词汇表所有单字    /w共15个token 步骤2统计相邻字符对频率 遍历所有句子统计相邻字符对出现次数 句子1深 度 学 习 很 重 要 /w相邻对深-度, 度-学, 学-习, 习-很, 很-重, 重-要, 要-/w句子2学 习 深 度 学 习 模 型 /w相邻对学-习, 习-深, 深-度, 度-学, 学-习, 习-模, 模-型, 型-/w句子3模 型 训 练 需 要 数 据 /w相邻对模-型, 型-训, 训-练, 练-需, 需-要, 要-数, 数-据, 据-/w 频率统计结果 学-习:3, 模-型:2, 深-度:2, 度-学:1, 习-很:1, 很-重:1, 重-要:1, 要-/w:1, 习-模:1, 型-/w:1, 型-训:1, 训-练:1, 练-需:1, 需-要:1, 要-数:1, 数-据:1, 据-/w:1 步骤3合并最高频字符对 第一轮合并最高频对 学-习出现3次 合并为新token 学习 更新词汇表新增 学习 更新句子分词 原句1深 度 学 习 很 重 要 /w → 深 度 学习 很 重 要 /w 原句2学 习 深 度 学 习 模 型 /w → 学习 深 度 学习 模 型 /w 原句3无变化 第二轮合并次高频对 模-型出现2次 合并为新token 模型 更新词汇表新增 模型 更新句子分词 原句2学习 深 度 学习 模 型 /w → 学习 深 度 学习 模型 /w 原句3模 型 训 练 需 要 数 据 /w → 模型 训 练 需 要 数 据 /w第三轮合并深-度出现2次 合并为新token 深度 更新词汇表新增 深度 更新句子分词 原句1深 度 学习 很 重 要 /w → 深度 学习 很 重 要 /w 原句2学习 深 度 学习 模型 /w → 学习 深度 学习 模型 /w 步骤4终止条件 假设设定词汇表大小为 20初始15 已合并3个新token继续合并直到达到目标。 后续可能合并 很-重 → 很重但频率低可能跳过 训-练 → 训练若语料库更大时出现多次 最终词汇表部分 基础单字深,度,学,习,很,重,要,模,型,训,练,需,数,据,/w 合并子词学习, 模型, 深度 3. 对新文本的分词应用 输入句子 深度学习模型需要训练数据 分词过程 初始拆分单字 深 度 学 习 模 型 需 要 训 练 数 据 /w 应用合并规则优先最长匹配 匹配 深度 → 深度 学 习 模 型 ... 匹配 学习 → 深度 学习 模 型 ... 匹配 模型 → 深度 学习 模型 ... 剩余部分需 要 训 练 数 据 /w无更高频合并 最终token序列 [深度, 学习, 模型, 需, 要, 训, 练, 数, 据, /w] 4. 中文BPE的关键技术细节 (1) 预处理优化 混合初始化先用传统分词工具如Jieba粗分再对结果运行BPE。 示例 北京大学 → Jieba切分为[北京, 大学] → 作为BPE输入单元。 (2) 字节级BPEBBPE 直接处理UTF-8字节避免中文编码问题 汉字“深”UTF-8编码\xe6\xb7\xb1会被拆分为3个字节。 适用场景多语言混合文本如中英混杂的代码注释。 (3) 词汇表大小影响 小词汇表如1万更多单字token长词拆解严重如“中华人民共和国”→7个token。 大词汇表如5万包含更多常见词如“北京”、“政府”但增加内存占用。 (4) 未登录词处理 回退到字符级 量子计算假设未登录→ 拆分为[量, 子, 计, 算]。 5. 与传统分词算法的对比 特性BPE分词传统分词如Jieba分词粒度数据驱动动态子词基于词典固定切分未登录词处理拆分为子字/子词可能强制切分为单字多语言支持统一处理中英文需单独配置词典典型应用GPT、LLaMA等大模型搜索引擎、文本分类 总结 中文BPE的核心流程 初始化单字或传统分词结果作为基础单元 迭代合并统计相邻单元频率 → 合并最高频对 → 更新词汇表 终止达到目标词汇表大小或频率阈值 优势 平衡词典大小与OOV率 适应不同领域文本如医学、法律专业术语 与预训练模型框架无缝兼容 挑战 需大量语料统计高频组合 长词效率低于传统分词 实际应用中中文BPE通常与WordPiece或Unigram算法结合优化如BERT采用WordPieceALBERT使用Unigram。 4 代码部分 数据mini_llm预训练数据集 tokenizer训练数据集 经过预处理的中文维基百科数据集 https://hf-mirror.com/datasets/pleisto/wikipedia-cn-20230720-filtered 文件示例 [   {     completion: 昭通机场ZPZT是位于中国云南昭通的民用机场始建于1935年1960年3月开通往返航班“昆明昭通”原来属军民合用机场。1986年机场停止使用。1991年11月扩建于1994年2月恢复通航。是西南地区「文明机场」通航城市昆明。 机场占地1957亩飞行区等级为4C有一条跑道长2720米宽48米可供波音737及以下机型起降。机坪面积6600平方米停机位2个航站楼面积1900平方米。位于城东6公里处民航路与金鹰大道交叉处。\n航点\n客服电话\n昭通机场客服电话0870-2830004,     source: wikipedia.zh2307   },   {     completion: 我的英雄学院英雄新世纪\n《我的英雄学院剧场版英雄新世纪》仆のヒーローアカデミア THE MOVIE ヒーローズ:ライジング是一部于2019年12月20日上映的日本动画电影由长崎健司执导、黑田洋介编剧改编自日本漫画家堀越耕平创作的漫画系列《我的英雄学院》同时也是其系列第二部电影版。\n概要\n本作电影内容同样为作者堀越耕平监修的原创故事并表示「这部电影版某种意义上可以说是《我的英雄学院》的结局了」。\n登场角色\n制作人员\n主题曲\n 「ハイヤーグラウンド」\n 作词片冈健太作曲黑田隼之介主唱sumika\n跨媒体展开\n集英社亦推出该片的小说版和文库版由小说家誉司アンリ执笔著作小说版于2019年12月20日上市。\n 仆のヒーローアカデミア THE MOVIE ヒーローズ:ライジング\n 仆のヒーローアカデミア THE MOVIE ヒーローズ : ライジング ノベライズ みらい文库版,     source: wikipedia.zh2307   }] 代码加载数据 import random import json from pathlib import Pathfrom tokenizers import (decoders,models,pre_tokenizers,trainers,Tokenizer, ) import osrandom.seed(42)#def train_tokenizer(): # 读取JSONL文件并提取文本数据 data_path ../datas/wikipedia-cn-20230720-filtered.json def iter_completions(file_path):生成器函数逐项返回completionwith Path(file_path).open(r, encodingutf-8) as f:data json.load(f) # 注意仍然会全部加载到内存for item in data:yield item[completion] import random import json from tokenizers import (decoders,models,pre_tokenizers,trainers,Tokenizer, ) import osrandom.seed(42)# 初始化tokenizertokenizer Tokenizer(models.BPE())tokenizer.pre_tokenizer pre_tokenizers.ByteLevel(add_prefix_spaceFalse)# 定义特殊tokenspecial_tokens [|endoftext|, |im_start|, |im_end|]# 设置训练器并添加特殊tokentrainer trainers.BpeTrainer(vocab_size6400,special_tokensspecial_tokens, # 确保这三个token被包含show_progressTrue,initial_alphabetpre_tokenizers.ByteLevel.alphabet())# 读取文本数据texts read_texts_from_jsonl(data_path)# 训练tokenizertokenizer.train_from_iterator(texts, trainertrainer)# 设置解码器tokenizer.decoder decoders.ByteLevel()# 检查特殊token的索引assert tokenizer.token_to_id(|endoftext|) 0assert tokenizer.token_to_id(|im_start|) 1assert tokenizer.token_to_id(|im_end|) 2# 保存tokenizertokenizer_dir ../model/os.makedirs(tokenizer_dir, exist_okTrue)tokenizer.save(os.path.join(tokenizer_dir, tokenizer.json))tokenizer.model.save(../model/)# 手动创建配置文件config {add_bos_token: False,add_eos_token: False,add_prefix_space: False,added_tokens_decoder: {0: {content: |endoftext|,lstrip: False,normalized: False,rstrip: False,single_word: False,special: True},1: {content: |im_start|,lstrip: False,normalized: False,rstrip: False,single_word: False,special: True},2: {content: |im_end|,lstrip: False,normalized: False,rstrip: False,single_word: False,special: True}},additional_special_tokens: [],bos_token: |im_start|,clean_up_tokenization_spaces: False,eos_token: |im_end|,legacy: True,model_max_length: 32768,pad_token: |endoftext|,sp_model_kwargs: {},spaces_between_special_tokens: False,tokenizer_class: PreTrainedTokenizerFast,unk_token: |endoftext|,chat_template: {% if messages[0][role] system %}{% set system_message messages[0][content] %}{{ |im_start|system\\n system_message |im_end|\\n }}{% else %}{{ |im_start|system\\nYou are a helpful assistant|im_end|\\n }}{% endif %}{% for message in messages %}{% set content message[content] %}{% if message[role] user %}{{ |im_start|user\\n content |im_end|\\n|im_start|assistant\\n }}{% elif message[role] assistant %}{{ content |im_end| \\n }}{% endif %}{% endfor %}}# 保存配置文件with open(os.path.join(tokenizer_dir, tokenizer_config.json), w, encodingutf-8) as config_file:json.dump(config, config_file, ensure_asciiFalse, indent4)print(Tokenizer training completed and saved.)def eval_tokenizer():from transformers import AutoTokenizer# 加载预训练的tokenizertokenizer AutoTokenizer.from_pretrained(../model/)messages [{role: system, content: 你是一个优秀的聊天机器人总是给我正确的回应},{role: user, content: 你来自哪里},{role: assistant, content: 我来自地球}]new_prompt tokenizer.apply_chat_template(messages,tokenizeFalse)print(new_prompt)# 获取实际词汇表长度包括特殊符号actual_vocab_size len(tokenizer)print(tokenizer实际词表长度, actual_vocab_size)model_inputs tokenizer(new_prompt)print(encoder长度, len(model_inputs[input_ids]))input_ids model_inputs[input_ids]response tokenizer.decode(input_ids, skip_special_tokensFalse)print(decoder和原始文本是否一致, response new_prompt)def main():train_tokenizer()eval_tokenizer()if __name__ __main__:main() 显示的结果如下
http://www.tj-hxxt.cn/news/139532.html

相关文章:

  • 静态网站seo怎么做上高县城乡规划建设局网站
  • 室内设计师找图片的网站五种关键词优化工具
  • 做网站的实训报告如何转换page到wordpress
  • 烟台小学网站建设做百度网站还是安居客网站
  • 科技公司网站设计react网站开发介绍
  • 宿迁城乡建设监督网站商城网站做推广有什么好处
  • 如何做公司网站的wordpress书
  • 惠州网站建设科技有限公司静态网站html
  • wordpress点赞排行百度竞价和优化的区别
  • 卖衣服的网站排名连云港建设企业网站
  • 网页设计与网站建设作业网站开发界面设计
  • 朝阳住房和城乡建设厅网站wordpress主题很卡
  • 东莞免费建网站企业天津圣辉友联网站建设
  • 洛阳网站建设找汉狮长春城乡建设部网站首页
  • 高级网站建设企业网站管理系统软件
  • 网站建设毕业设计 任务书seo网站优化培训怎么做
  • 网站标题更新获取网站访问者qq号
  • 做直播网站要多大带宽WordPress来源插件
  • 网站建设app小程序大型商城网站建设方案
  • 公司网站开发题目来源如何推广品牌知名度
  • 公司网站在百度搜不到WordPress生成网站地图
  • 自己建私人网站做外贸不好做手机百度app安装下载
  • 多个网站能否统一做等保wordpress添加文字alt
  • 网站设计怎么验收深圳宝安高端网站建设报价
  • 百度网站适配代码深圳网站设计十年乐云seo
  • 青海网站建设费用价格html5网站开发需要框架吗
  • 成都网站制作公司电话高新区瀑布式wordpress主题
  • 药品网站 icp网站设计及建设合同
  • 企业网站外包托管推广沈阳网站建设选网龙
  • 网站后台用什么做服务器被禁止访问网站怎么办