开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

微调后的模型,如何在加载进行跟使用预训练模型一样的方式推理

微调后的模型,如何在加载进行跟使用预训练模型一样的方式推理

展开
收起
luanpeng 2023-04-22 08:46:44 313 0
1 条回答
写回答
取消 提交回答
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    预训练的模型为我们提供了一个强大的语言模型基础,在些基础上,我们进行微调,就可以实现满足特殊需求的模型。

    先将代码先拼接在一起。然后写个小脚本,将transformer库中的python文件都读出来连接在一起。

    进行训练之前,我们先安装下transformer库,先cd到transformers的下载目录,然后执行,

    安装成功之后,可以使用transformers下的examples中的run_lm_finetuning.py脚本来进行fine-tuning,

    由于预训练模型(Pretrained Models, PTMs)的蓬勃发展,“预训练(pretrain)+微调(finetune)”成为了AI模型开发领域的标准范式。

    预训练的研究最早起源于迁移学习。迁移学习的核心思想,即运用已有的知识来学习新的知识,通俗来说就是将一个预训练的模型被重新用在另一个任务中。

    PTM成功的关键是自监督学习和Transformer。

    GPT是第一个在Transformer结构上应用自监督学习目标的PTM,它仅使用了Transformer的decoder作为基础结构,由于采用自监督学习,所以删去了cross-attention层。GPT是一个标准的自回归语言模型,它的学习目标,是根据上文预测下一个词,因此也往往更适合自然语言生成任务。

    BERT是基于双向 Transformer 结构构建,仅使用了Transformer的encoder结构。这里的双向主要是通过它的预训练目标实现的,BERT设计了一个 masked language modeling (MLM) 预训练任务,根据上下文来预测masked词汇。“双向”即体现在,在进行注意力计算时,BERT会同时考虑被遮蔽词左右的词对其的影响。BERT是一种自编码语言模型,更适合自然语言理解任务。

    预训练模型的主要目标是如何利用未标注语料来获取通用知识,以便快速迁移到各种下游任务中。GPT和BERT的预训练任务Autoregressive language modeling和masked language modeling,它们也分别是自回归语言模型和自编码语言模型无法替代的预训练任务,后续的一些PTMs中探索的新的预训练任务均是在此基础上追加的。

    对于预训练模型的应用,除了“pretrain+finetune”,逐渐盛行了一种新的范式“pretrain+prompt+predict",致力于重构不同的下游任务,打造大一统的多任务模型。

    LightSeq是字节跳动火山翻译团队开源的一款Transformer系列模型加速引擎,分为训练和推理两个部分。其中推理加速引擎早在2019年12月就已经开源,而训练加速引擎也在2021年6月开源。 项目地址: https://github.com/bytedance/lightseq

    2023-04-22 12:02:51
    赞同 1 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载