首页
Jin blog
取消

Transformers快速入门(五):Finetune一个BERT模型

一切前期工作准备就绪,本章我们来Finetune一个自己的BERT模型。 Finetune翻译过来是微调,指把别人训练好的现成的模型拿过来,用自己的数据,调整一下参数,再继续进行训练,使之符合自己数据的特点。微调是一种迁移学习(Transfer Learning),由于前人花很大精力训练出来的模型,在大概率上会比自己从零开始搭的模型要强悍,所以很多时候,我们都在既有的模型上继续调整,也就是...

Transformers快速入门(四):结合Transformers和PyTorch修改模型

本章介绍Transformers和PyTorch修改模型的方法。Transformers包提供了Model类为我们快速加载一个预训练模型,但是对于其他模型组件如神经网络层、激活函数、优化算法、损失函数等,仍需用到PyTorch进行加载。比如BERT本身不支持文本分类,这时就要用PyTorch加一分类层。下面介绍修改和训练模型中会用到的方法。 Model 在本系列(一)介绍的pipelin...

Transformers快速入门(三):用PyTorch加载和处理数据

Transformers库建立在PyTorch框架之上,需要通过PyTorch来加载和处理数据、定义优化器、定义和调整模型参数,甚至直接加载模型等等。本章将介绍用PyTorch加载和处理数据。 我一直都说,人类相比于动物的一大区别就是人类善于使用工具,所谓君子生非异也,善假于物也。而人类创造出各种工具,是为了方便我们,而不是折磨我们。会有人说PyTorch好难,但是不用PyTorch,深度...

Transformers快速入门(二):用Tokenizer从零开始训练词表

上一章我们了解了Transformers的pipeline。虽然pipeline很方便,但可能会感受到不自由。pipeline里面究竟干了啥?不清楚。想改输入的形式、想改模型结构,pipeline很难做到,这对我们的研究是非常不利的。Transformers不允许这么不自由! Transformers提供了各种方法使得我们能够很方便、很清晰地构建一个文本模型。而在训练模型之前,需要toke...

Transformers快速入门(一):用Transformers和FastAPI快速搭建后端算法api

如果你对自然语言处理 (NLP, Natural Language Processing) 感兴趣,想要了解ChatGPT是怎么来的,想要搭建自己的聊天机器人,想要做分类、翻译、摘要等各种NLP任务,Huggingface的Transformers库是你不能错过的选择。在Transformers的帮助下,许多任务只需几行代码便能轻松解决。本章将带你体验Transformers的魅力。 预训...

微调大语言模型:Prompting和LoRA

本文将列举开源的大语言模型模型和微调的类型,并以代码形式具体介绍如何进行微调。 为何选择微调 作为个人开发者,想要”私人定制“大语言模型(Large Language Model,LLM),乃至在垂直领域完成一个问答系统,或者至至至少,得要认主,在追问“你是谁”的时候,不会回答“我是由OpenAI开发的模型”,而回答的是”我是jin开发的聊天机器人”。对开源的LLM进行微调,是个不错的方...

Attention is all I need:Transformer的原理和代码详解

Transformer可运行的代码发布在GitHub 提到ChatGPT的原理,就绕不开Transformer,Transformer中的核心思想之一便是Attention,Attention机制彻底击败了在此之前的绝对王者RNN模式,并统治各大NLP任务直到现在。正因如此,Transformer的论文不叫Transformer,而是叫做《Attention is all you ...

LSTM模型原理和代码详解

RNNs模型,包括LSTM和GRU,是处理Seq2seq任务的经典模型。RNNs的代码非常适合深度学习入门,本文将介绍Seq2seq的基本概念,RNNs模型的原理和公式,最后以基于AKShare+LSTM股票市场预测为例,让读者通过实践彻底理解RNNs。 Seq2seq 序列到序列(Seq2seq)任务表示输入是一段序列,输出也是一段序列的任务。序列是被顺序排成一列的对象,文本、视频、语...

深度学习环境配置:Anaconda、CUDA、PyTorch安装和那些坑儿

工欲善其事,必先利其器。在使用Python开展深度学习的研究之前,绕不开的一步就是环境安装。本章将介绍Python的管理工具Anaconda、NVIDIA驱动和CUDA的安装、深度学习框架PyTorch的安装和那些坑儿。这几者的关系如下图: graph LR A[数据] -->B(PyTorch) B -->|Anaconda| C(Python) C --> ...

Git入门(二)Git的基本操作流程和命令详解

本章就GitHub全流程的命令进行呈现和解释,注意:所有命令行都是在本地执行,Linux和Mac打开终端,windows桌面右键打开Git Bash。 初始化仓库 初始化仓库可以分为三种形式: 完全从0开始:Git也无内容,本地也无内容; 本地仓库已有内容:本地链接到空的Git仓库; GitHub上已有内容:从Git现有仓库clone到本地。 完全从0开始 在Git...