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

凡科商城合肥seo网站排名

凡科商城,合肥seo网站排名,滑块验证wordpress,品牌运营中心本文并非基于微调训练模型#xff0c;而是从头开始训练出一个全新的大语言模型的硬核教程。看完本篇#xff0c;你将了解训练出一个大模型的环境准备、数据准备#xff0c;生成分词#xff0c;模型训练、测试模型等环节分别需要做什么。AI 小白友好~文中代码可以直接实操运…本文并非基于微调训练模型而是从头开始训练出一个全新的大语言模型的硬核教程。看完本篇你将了解训练出一个大模型的环境准备、数据准备生成分词模型训练、测试模型等环节分别需要做什么。AI 小白友好~文中代码可以直接实操运行。 通过这篇文章你可以预训练一个全新大语言模型。注意是全新的模型不是微调。 全新训练的好处是训练的数据、训练的参数都是可修改的通过调试运行我们可以更好的理解大模型训练过程。我们可以用特定类型数据的训练来完成特定类型数据的输出。 技术交流 技术要学会分享、交流不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。 相关资料、数据、技术交流提升均可加我们的交流群获取群友已超过2000人添加时最好的备注方式为来源兴趣方向方便找到志同道合的朋友。 方式①、添加微信号mlc2060备注来自CSDN 技术交流 方式②、微信搜索公众号机器学习社区后台回复加群 关于大模型已经有很多文章微调模型的文章比较多全新预训练全新模型的文章很少。个人觉得有的也讲的很复杂代码也很难跑通。本文不会讲的很复杂代码也很容易运行。仅用61行代码就能训练出一个全新大语言模型。 本文以代码为主运行代码需要 Python 环境。 01 准备训练环境 我的训练环境基于腾讯云的 GPU 机器。 地址https://cloud.tencent.com/product/gpu GPU类型GN7.2XLARGE32 T4 显卡1颗 显存16GB python 3.11 requirements.txt: tokenizers0.13.3 torch2.0.1 transformers4.30.‍ 02 准备训练数据 首先我们要为训练准备数据比如我就想基于《三国演义》训练一个模型。三国演义下载地址 https://raw.githubusercontent.com/xinzhanguo/hellollm/main/text/sanguoyanyi.txt 03 训练分词器 分词tokenization是把输入文本切分成有意义的子单元tokens。通过以下代码根据我们的数据生成一个新的分词器 from tokenizers import Tokenizer from tokenizers.models import BPE from tokenizers.trainers import BpeTrainer from tokenizers.normalizers import NFKC, Sequence from tokenizers.pre_tokenizers import ByteLevel from tokenizers.decoders import ByteLevel as ByteLevelDecoder from transformers import GPT2TokenizerFast# 构建分词器 GPT2 基于 BPE 算法实现 tokenizer Tokenizer(BPE(unk_tokenunk)) tokenizer.normalizer Sequence([NFKC()]) tokenizer.pre_tokenizer ByteLevel() tokenizer.decoder ByteLevelDecoder()special_tokens [s,pad,/s,unk,mask] trainer BpeTrainer(vocab_size50000, show_progressTrue, inital_alphabetByteLevel.alphabet(), special_tokensspecial_tokens) # 创建 text 文件夹并把 sanguoyanyi.txt 下载放到目录里 files [text/sanguoyanyi.txt] # 开始训练了 tokenizer.train(files, trainer) # 把训练的分词通过GPT2保存起来以方便后续使用 newtokenizer GPT2TokenizerFast(tokenizer_objecttokenizer) newtokenizer.save_pretrained(./sanguo)运行时显示如下图 成功运行代码后我们在 sanguo 目录生成如下文件 merges.txt special_tokens_map.json tokenizer.json tokenizer_config.json vocab.json现在我们已经成功训练了一个大语言模型的分词器。 04 训练模型 利用下面代码进行模型训练 from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer # 加载分词器 tokenizer GPT2Tokenizer.from_pretrained(./sanguo) tokenizer.add_special_tokens({eos_token: /s,bos_token: s,unk_token: unk,pad_token: pad,mask_token: mask }) # 配置GPT2模型参数 config GPT2Config(vocab_sizetokenizer.vocab_size,bos_token_idtokenizer.bos_token_id,eos_token_idtokenizer.eos_token_id ) # 创建模型 model GPT2LMHeadModel(config) # 训练数据我们用按行分割 from transformers import LineByLineTextDataset dataset LineByLineTextDataset(tokenizertokenizer,file_path./text/sanguoyanyi.txt,block_size32,# 如果训练时你的显存不够# 可以适当调小 block_size ) from transformers import DataCollatorForLanguageModeling data_collator DataCollatorForLanguageModeling(tokenizertokenizer, mlmFalse, mlm_probability0.15 )from transformers import Trainer, TrainingArguments # 配置训练参数 training_args TrainingArguments(output_dir./output,overwrite_output_dirTrue,num_train_epochs20,per_gpu_train_batch_size16,save_steps2000,save_total_limit2, ) trainer Trainer(modelmodel,argstraining_args,data_collatordata_collator,train_datasetdataset, ) trainer.train() # 保存模型 model.save_pretrained(./sanguo)运行比较耗时显示训练数据如下图 成功运行代码我们发现 sanguo 目录下面多了三个文件 config.json generation_config.json pytorch_model.bin现在我们就成功生成训练出基于《三国演义》的一个大语言模型。 05 测试模型 我们用文本生成对模型进行测试代码如下 from transformers import pipeline, set_seed generator pipeline(text-generation, model./sanguo) set_seed(42) txt generator(吕布, max_length10) print(txt)运行显示模型输出了三国相关的文本“吕布十二回 张翼德 张翼德时曹操 武侯计计计” 再测试一条 txt generator(接着奏乐, max_length10) print(txt)“接着奏乐\u3000却说曹操引军因二人” 这内容不忍直视如果想优化我们也可以基于全新的模型进行微调训练我们也可以适当地调整下训练参数以达到较好的效果。 06 完整代码 以下是完整代码代码地址 https://github.com/xinzhanguo/hellollm/blob/main/sanguo.py linux 中运行方法 # 创建环境 python3 -m venv ~/.env # 加载环境 source ~/.env/bin/activate # 下载代码 git clone gitgithub.com:xinzhanguo/hellollm.git cd hellollm # 安装依赖 pip install -r requirements.txt # 运行代码 python sanguo.py以上我们就完成一个全新的模型训练。代码去除注释空行总共61行。 本文代码模型是基于 GPT2 的当然你也可以基于 LLama 或者 Bert 等模型去实现全新的大语言模型。 代码虽然不是很多但是如果初次尝试运行的话你也许会遇到很多问题比如环境搭建。为了避免其他烦恼我建议用 docker 方式运行代码: # 下载代码 git clone gitgithub.com:xinzhanguo/hellollm.git cd hellollm # 编译镜像 docker build -t hellollm:beta . # 可以选择以GPU方式运行 # docker run -it --gpus all hellollm:beta sh docker run -it hellollm:beta sh python sanguo.py更多代码可以参考Hello LLM! https://github.com/xinzhanguo/hellollm 以上就是本篇文章的全部内容欢迎转发分享。
http://www.hkea.cn/news/14452973/

相关文章:

  • 做网站的准备什么软件广州seo网站排名
  • 汕头市php网站建设静态网站怎么优化
  • 江门模板建站源码盗网站后台源码
  • 备案信息修改网站名称怎么注册建设银行网站
  • 网站数据做面板分析中国哪些网站做软装
  • 淘宝客的网站是怎么做的网站开发业务规划
  • 零食网站建设策划书模板四川seo推广
  • 网站服务器价格济南城乡住房建设厅网站
  • 天津工程建设网官方网站做淘客app要网站吗
  • 中国交通建设集团第四工程局网站做鞋子有什么好网站
  • 网页传奇游戏攻略济南优化排名公司
  • 电子商务网站建设与管理王生春有没有做维修的网站
  • 西城h5网站建设哪个网站上可以做初中数学题
  • 宜昌建网站o2o苗木网站建设
  • 网站建设系统教程wordpress 注册按钮
  • 什么网站可以做简历如何做博客网站
  • 娱乐公司网站建站背景介绍中文域名.网站
  • 怎么做qq代挂网站南京驰铭做网站公司
  • 在工商局网站做年报要交费吗托者设计吧官网
  • 阿里云虚拟主机建站教程做电脑租赁网站
  • 海外购物网站大全高德地图怎么导航环线
  • 惠阳网站优化学校英文网站建设
  • 网站的建设方式有哪些wordpress页面发布失败为什么
  • 检察院网站建设标书wordpress 商务主题
  • 东莞外贸网站建设广西百度seo
  • 凡客的网站功能个人怎么做购物网站
  • 什么网站做视频最赚钱建设工程施工司法解释
  • 门户网站开发技术建设充值网站多钱
  • 郓城菏泽网站建设巴中 网站建设
  • 信息网站建设腾讯云做wordpress太卡