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

wordpress网站建设教程视频住建蓉e办官网

wordpress网站建设教程视频,住建蓉e办官网,苏州网站设计公司兴田德润i简介,网站设计行业资讯文章目录前言环境流程介绍数据部分分词部分预处理部分训练部分遇到的问题问题1可能遇到的问题问题1问题2前言 本文是使用 fairseq 做 Bart 预训练任务的踩坑记录huggingface没有提供 Bart 预训练的代码 facebookresearch/fairseq: Facebook AI Research Sequence-to-Sequence… 文章目录前言环境流程介绍数据部分分词部分预处理部分训练部分遇到的问题问题1可能遇到的问题问题1问题2前言 本文是使用 fairseq 做 Bart 预训练任务的踩坑记录huggingface没有提供 Bart 预训练的代码 facebookresearch/fairseq: Facebook AI Research Sequence-to-Sequence Toolkit written in Python. (github.com) 环境 fairseq0.10.0torch1.10.0cu111GPUNVIDIA GeForce RTX 3090CUDA11.1 安装时先进行了 pip install --editable ./之后报错 Getting requirements to build editable ... error error: subprocess-exited-with-error× Getting requirements to build editable did not run successfully. packages/torch/lib/../../nvidia/cublas/lib/libcublas.so.11: symbol cublasLtHSHMatmulAlgoInit version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference解决有issue有回答 https://github.com/facebookresearch/fairseq/issues/4843 pip install --no-build-isolation --editable ./但是装完之后是最新的 fairseq0.12.0,会有 args 冲突的错误 argparse.ArgumentError: argument --max-source-positions: conflicting option string: --max-source-positions有人提issue但是没有回答https://github.com/facebookresearch/fairseq/issues/4416 这个错误应该是版本问题于是换成 fairseq0.10.0, torch与cuda 11.1对应安装 个人认为不需要执行 pip install --editable ./直接 pip 安装想要的fairseq版本即可 流程介绍 数据部分获得数据将数据写进文件中每一行代表一个样本分词部分使用 BPE(Byte Pair Encoding) 分词将数据 tokenize预处理部分使用fairseq-preprocess对分词后的数据进行处理并binarize数据训练部分使用fairseq-train进行训练 数据部分 我使用的是qulac中query对应的top10k docs数据数据包含大量文本形式的文档。 将数据划分为训练集验证集测试集分别存于train.input, valid.input, test.input其中每一行代表一个训练样本 我将文档按 . 进行拆分每个长度大于50的句子才会被考虑这里我要进行的是denoising任务因此不需要 label如果任务是有 target的还要存储train.output等文件文件名称和后缀可以自行设置 我以 8:2的比例设置了训练集和验证集没有设置测试集 分词部分 因为模型不能处理原始文本因此我们要将文本转换为 token id 的序列使用命令如下 TASKdenoise_data/source_split LANGinput for SPLIT in train valid dopython -m examples.roberta.multiprocessing_bpe_encoder \--encoder-json ./BPE/encoder.json \--vocab-bpe ./BPE/vocab.bpe \--inputs $TASK/$SPLIT.$LANG \--outputs $TASK/$SPLIT.bpe.$LANG \--workers 60 \--keep-empty; done这里需要先下载对应的 encoder.json, vocab.bpe. dict.txtBart与gpt2使用的是相同的 wget -N https://dl.fbaipublicfiles.com/fairseq/gpt2_bpe/encoder.json wget -N https://dl.fbaipublicfiles.com/fairseq/gpt2_bpe/vocab.bpe wget -N https://dl.fbaipublicfiles.com/fairseq/gpt2_bpe/dict.txt这里的 output 是输出文件名不是label 分词前的数据 分词后的数据和分词前的数据不是对应的只是展示结果 预处理部分 预处理分词好的数据并且对数据进行二值化将得到的二值化数据写到 --destdir 文件夹中可以用于模型训练 TASKdenoise_data/source_split fairseq-preprocess \--only-source \--trainpref ${TASK}/train.bpe.input \--validpref ${TASK}/valid.bpe.input \--destdir ${TASK}/bpe_data \--workers 60 \--srcdict /home/nsy/ict/Models/bart_base_fairseq/bart.base/dict.txt \--tgtdict /home/nsy/ict/Models/bart_base_fairseq/bart.base/dict.txt;训练部分 加载刚刚预处理完的数据并进行训练具体参数可以自行调整 MASKLENspan-poisson MRATIO0.4 DATASET./denoise_data/source_split/bpe_data/ CUDA_VISIBLE_DEVICES0 fairseq-train $DATASET \--save-dir models/nsy_saved \--no-epoch-checkpoints \--tokens-per-sample 128 \--arch bart_base \--task denoising \# other_parameters遇到的问题 上面的流程部分是解决完 bug 之后的正确命令 问题1 报错out of memory显存不够需要 40G 显存显然这对 Bart_base 来说是不会出现的错误一定是自己的处理有问题不是模型有问题 我使用小部分数据测试因此这样加载一次很快有利于发现问题。 train里面3000多条可以跑通且加载速度很快。这样模型的参数明显很小比大数据集时小了很多倍。注意到embedding的维度很有问题猜测preprocess时产生的字典有问题导致带字典维度的矩阵特别大 小数据集3000多行文本时embedding层的参数 (embed_tokens): Embedding(13049, 768, padding_idx1)大数据集千万行文本时embedding层的参数 (embed_tokens):Embedding(14929897, 768, padding_idx1)这会导致模型参数量巨大 发现参数量确实太大了应该有问题于是查看字典大小与embedding第一维大小基本一致 因为之前尝试过使用 Bart 的字典来进行preprocess但是发现百分之90多都被替换成 ,因此在小数据集上测试Bart的字典为什么会产生如此多的 。查看 Bart 的字典 发现直接preprocess没有分词应该先对文本做分词产生 token_id 之后再进行 preprocess 首先进行BPE分词 TASKtry_data LANGinput for SPLIT in train valid dopython -m examples.roberta.multiprocessing_bpe_encoder \--encoder-json ./BPE/encoder.json \--vocab-bpe ./BPE/vocab.bpe \--inputs $TASK/$SPLIT.$LANG \--outputs $TASK/$SPLIT.bpe.$LANG \--workers 60 \--keep-empty; done之后进行preprocess这样就发现一切都合理了也没有被替换成 的 token 了 TASKtry_data fairseq-preprocess \--only-source \--trainpref ${TASK}/train.bpe.input \--validpref ${TASK}/valid.bpe.input \--destdir ${TASK}/bpe_data \--workers 60 \--srcdict /home/nsy/ict/Models/bart_base_fairseq/bart.base/dict.txt \--tgtdict /home/nsy/ict/Models/bart_base_fairseq/bart.base/dict.txt;2023-02-18 22:45:29 | INFO | fairseq_cli.preprocess | Namespace(align_suffixNone, alignfileNone, all_gather_list_size16384, bf16False, bpeNone, checkpoint_shard_count1, checkpoint_suffix, cpuFalse, criterioncross_entropy, dataset_implmmap, destdirtry_data/bpe_data, empty_cache_freq0, fp16False, fp16_init_scale128, fp16_no_flatten_gradsFalse, fp16_scale_tolerance0.0, fp16_scale_windowNone, joined_dictionaryFalse, log_formatNone, log_interval100, lr_schedulerfixed, memory_efficient_bf16False, memory_efficient_fp16False, min_loss_scale0.0001, model_parallel_size1, no_progress_barFalse, nwordssrc-1, nwordstgt-1, only_sourceTrue, optimizerNone, padding_factor8, profileFalse, quantization_config_pathNone, scoringbleu, seed1, source_langNone, srcdict/home/nsy/ict/Models/bart_base_fairseq/bart.base/dict.txt, target_langNone, tasktranslation, tensorboard_logdirNone, testprefNone, tgtdict/home/nsy/ict/Models/bart_base_fairseq/bart.base/dict.txt, threshold_loss_scaleNone, thresholdsrc0, thresholdtgt0, tokenizerNone, tpuFalse, trainpreftry_data/train.bpe.input, user_dirNone, validpreftry_data/valid.bpe.input, workers60) 2023-02-18 22:45:29 | INFO | fairseq_cli.preprocess | [None] Dictionary: 51200 types 2023-02-18 22:45:30 | INFO | fairseq_cli.preprocess | [None] try_data/train.bpe.input: 3383 sents, 89468 tokens, 0.0% replaced by unk 2023-02-18 22:45:30 | INFO | fairseq_cli.preprocess | [None] Dictionary: 51200 types 2023-02-18 22:45:31 | INFO | fairseq_cli.preprocess | [None] try_data/valid.bpe.input: 4085 sents, 99282 tokens, 0.0% replaced by unk 2023-02-18 22:45:31 | INFO | fairseq_cli.preprocess | Wrote preprocessed data to try_data/bpe_data可能遇到的问题 这里可能遇到的问题是我最初遇到的后来我重新clone了fairseq的仓库安装了不同版本的fairseq之后没有遇到的因此这里的问题大概率是版本问题 问题1 遇到报错 Fairseq: No module named ‘fairseq.data.data_utils_fast’。在克隆后的项目主目录运行 python setup.py build_ext --inplaceFairseq: No module named ‘fairseq.data.data_utils_fast’ - 简书 (jianshu.com) 问题2 遇到报错 module numpy has no attribute float 因为np.float从1.24起被删除。所用的代码是依赖于旧版本的Numpy。可以更新sklearn到一个不使用np.float的新版本如果它存在或者将你的Numpy版本降级到1.23.5. pip install -U numpy1.23.5Note: sklearn是scikit-learn的缩写安装时要用 pip install scikit-learn
http://www.hkea.cn/news/14479671/

相关文章:

  • 域名备案网站建设方案书wordpress可以移动端
  • 汕头自助建站软件网站建设公司的公众号
  • 盐城网站开发代理咨询新手学做百度联盟网站
  • 域名会跳转怎么进原网站杭州做网站哪个公司好
  • wordpress 做一个视频站wordpress 文章 表格
  • html网站模板建站卡片式设计网站
  • 17一起做网站后台一个好的网站有什么标准
  • 乐清网站制作公司哪家好微软网站开发工具有哪些
  • 服装公司网站规划建设哪里有未成年做的网站
  • 化妆品电子商务网站建设策划书什么网站流量高
  • 无锡网站推广经理海外推广是做什么的
  • 珠海网站建设技术支持wordpress开源app
  • 打车网站开发央视叫停校外培训机构
  • 网站系统开发流程阿迪达斯网站建设定位
  • 武进建设局网站手工制作灯笼简单又漂亮
  • 建设银行天津招聘网站关于网站开发专业的ppt
  • 广州市城市建设档案馆网站Fastcgi做网站
  • 手机网站建设策划方案湖南网站推广优化
  • 做网站图片要求淘宝店铺怎么推广和引流
  • 做的比较唯美的网站网站建设如何上传图片
  • 做任务的设计网站公司加强网站建设
  • 鄂尔多斯市建设厅网站大连开发区图书馆
  • 福州网站关键词亚马逊一个月赚5万难吗
  • 东莞广告公司东莞网站建设价格如何进入邮箱的网站
  • 太仓住房和城乡建设局网站手机网站建设推广方案ppt模板
  • 西宁网站维护公司安国市住房和城乡建设局网站
  • 国内高端医疗网站建设东莞网站建设排名 南城
  • 嘉兴网站备案去哪里网站建设报价表格
  • 为什么建设厅的网站不好打开员工信息查询系统
  • 网站建设的收费标准怎样免费建微网站