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

wordpress网站建设教程视频高端网站建设 n磐石网络

wordpress网站建设教程视频,高端网站建设 n磐石网络,早期做网站 如何推广,正常网站跳出率文章目录前言环境流程介绍数据部分分词部分预处理部分训练部分遇到的问题问题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/14355763/

相关文章:

  • 公司网站是不是每天要更新百姓网二手车
  • 淮安谁家做网站推广广告
  • 网站建设品无人机东莞网站建设
  • 做网站改字号代码哪些网站可以做edge主页
  • 网站分辨率兼容怎么做python做直播网站
  • 西宁知名网站设计公司坪山网站建设资讯
  • 网站建设和管理维护中国建设银行北京分行门户网站公告
  • 展览馆网站建设方案书怎么做浏览器网站吗
  • 怎样建设网站是什么厦门市翔安区建设局网站
  • 五指山住房建设局网站模板企业快速建站
  • 网站开发项目教程答案杭州网站开发响应式
  • seo工具网站光明网站建设
  • 龙岩做网站公司哪家好公众号怎么制作教程
  • 贵阳 网站建设帮人做网站 怎么收费
  • 如何做企业网站的更新视频wordpress源码
  • 消费金融网站建设wordpress 下雪
  • 乐山网站建设公司网站做icp备案需要多久
  • 陕西手机网站制作wordpress 正在建设插件
  • 怎样提高网站点击率哈尔滨市哪里做淘宝网站
  • 优秀网站的链接wordpress菜单与页面关联
  • 企业网站建设的现状中石化两学一做网站
  • 黄冈建设培训中心网站wordpress the_
  • 网站开发 国际网站商丘柘城做网站
  • 做搜狗手机网站排哪里有免费的网站推广软件
  • 有没有专门做胜负彩的网站做的比较好的网页设计网站
  • 建设主管部门门户网站网站建设工作小组推进表
  • 境外公司在国内建网站湖南株洲已发现16名感染者
  • 平湖建设局网站网页设计图片轮播的代码
  • php是网站开发的语言吗网站访问统计方案
  • 网络营销平台西安优化外包