前言
资料:昇思大模型平台
https://xihe.mindspore.cn/projects/Helloyouth2024/gpt_basic_experiments/tree
本文内容:
GPT论文阅读与笔记分享
- openAI GPT系列(GPT1 ~ GPT4)经典文献:
①Improving Language Understanding by Generative Pre-Training
②Language Models are Unsupervised Multitask Learners
③Language Models are Few-Shot Learners
④GPT-4 Technical Report
- 说明
OpenAI的GPT系列的相关文献和实验是学习大模型的一个基础,而它本身的基础是Transformer(推荐:Transformer学习与基础实验)。
现在大模型、多模态技术层出不穷,但基本都离不开Transformer,本文希望通过比较系统地学习LLM的基础的、经典的模型以及相关基础实验,提升对LLM的认知,为后续学习和研究打下基础。
- GPT1阅读(Improving Language Understanding by Generative Pre-Training)
笔记标注后的文档位于gpt_basic_experiments/GPTdocuments
使用的工具:PDF Annotator
MindNLP推荐
MindNLP是一个基于MindSpore的开源的NLP库,它提供了丰富的NLP任务和模型支持,支持如BERT、RoBERTa、GPT等多种预训练模型,并提供了简单易用的API,方便用户快速学习使用和构建自己的NLP应用。
MindNLP兼容Hugging Face生态,支持大量数据集和模型,便于用户进行模型训练和推理。MindNLP充分利用了MindSpore的动态图特性和优化能力,提高了模型的训练和推理效率,尤其是基于国产处理器:昇腾处理器Ascend。
github链接:https://github.com/mindspore-lab/mindnlp.git
官方文档:https://mindnlp.cqu.ai/
Mindnlp 0.4特性:
来源:bilibili:【MindSpore NLP SIG 】MindNLP 0.4新特性解读
后续会在本公众号针对mindnlp的以上特性的基础部分给出相应的实验例子合集(文档+代码+应用)。
transformers的tokenizer为LLM准备数据——以openai-gpt为例
文档资料:tokenizer_usage.ipynb
加载与保存
可从本地加载 tokenizer或者直接从 Hugging Face Model Hub (或者其镜像站)加载,后者会将其cache保存在本地的.mindnlp文件夹中。
加载:
保存:
修改一些特殊token
查看词典相关信息
当前词汇表大小(含所有特殊token):len(tokenizer.get_vocab())
# 查看特殊标记字典
tokenizer.get_added_vocab()
句子分词
分词例子:
Token /id/string 序列转换
编码
tokenizer.encode(......)
encode_plus:返回更多相关信息、input ids、token_type_ids(区分不同句子)、attention_mask(标记pad)
批量对多个句子进行encode(比循环操作快,内部进行了优化):
tokenizer.batch_encode_plus
其实更常用的调用是直接调用tokenizer(......),结合了单个encode和batch_encode_plus,理解了上述基本用法,实际使用中直接掌握这个调用进行句子编码即可。
解码
可看作是encode操作的反向操作
类似地,同样有批量操作:tokenizer.batch_decode
一个中文文本数据处理的tokenizer
google-bert/bert-base-chinese
参考文献
- GPT系列论文粗读 - 知乎:https://zhuanlan.zhihu.com/p/614957283
- [transformers]——Tokenizer的用法
- Transformers从零到精通教程——Tokenizer
- 【MindSpore NLP SIG 】MindNLP 0.4新特性解读
https://www.bilibili.com/video/BV13USLYFERU/?spm_id_from=333.337.search-card.all.click&vd_source=c71f418d51a7ad5d451aecfdbfeaff77
下一篇:以mindnlp为实验工具的GPT_GPT2基础实验2——文本情感识别和自然语言推理(NLI)