bebe861011 发表于 2023-10-4 06:55:06

大模型时代下,nlp初学者需要怎么入门?

大模型时代下,nlp初学者需要怎么入门?

peeperp 发表于 2023-10-4 06:55:23

2022 年 11 月,ChatGPT 的问世展示了大语言模型的强大潜能,并迅速引起了广泛关注。ChatGPT 能够有效理解用户需求,并根据上下文提供恰当的回答。它不仅可以进行日常对话,还能够完成复杂任务,如撰写文章、回答问题等。令人惊讶的是,所有这些任务都由一个模型完成。在许多任务上,ChatGPT 的性能甚至超过了针对单一任务进行训练的有监督算法。这对于人工智能领域具有重大意义,并对自然语言处理研究产生了深远影响。
免费领取 | 复旦大学-《大规模语言模型:从理论到实践》然而,由于 OpenAI 并未公开 ChatGPT 的详细实现细节,整体训练过程包括语言模型、有监督微调、类人对齐等多个方面,这些方面之间还存在大量的关联,这对于研究人员在自然语言处理基础理论和机器学习基础理论上要求很高。此外,大语言模型的参数量非常庞大,与传统的自然语言处理研究范式完全不同。使用大语言模 型还需要分布式并行计算的支持,这对自然语言处理算法研究人员又进一步提高了要求。
为了使得更多的自然语言处理研究人员和对大语言模型感兴趣的读者能够快速了解大语言模型和理论基础,并开展大语言模型实践,复旦大学自然语言处理实验室张奇教授、桂韬研究员、郑锐博士生以及黄萱菁教授结合之前在自然语言处理领域研究经验,以及分布式系统和并行计算的教学经验,通过在大语言模型实践和理论研究的过程中,历时 8 个月完成本书。希望这本书能够帮助读者快速入门大语言模型的研究和应用,并解决相关技术挑战。

http://pica.zhimg.com/v2-1a5d8ccde4e3c31891355143f35b57ec_r.jpg?source=1940ef5c
《大规模语言模型:从理论到实践》旨在为对大语言模型感兴趣的读者提供一个入门指南,并可作为高年级本科生和研究生自然语言处理相关课程的大语言模型部分补充教材。鉴于大语言模型的研究仍在快速发展阶段,许多方面尚未达成完整结论或普遍共识。在撰写本书时,我们力求全面展现大模型研究的各个方面,并避免给出没有广泛共识的观点和结论。大语言模型涉及深度学习、自然语言处理、分布式计算、分布式计算等众多领域。因此,建议读者在阅读本书之前,首先系统地学习深度学习和自然语言处理的相关课程。在分布式计算和异构计算方面,读者需要具备基本的概念。如果希望在大语言模型训练和推理方面进行深入研究,还需要系统学习分布式系统、并行计算、CUDA 编程等相关知识。

http://pic1.zhimg.com/v2-f0e64f5fe4a66dc8f6be255c784ac6ea_r.jpg?source=1940ef5c
本书围绕大语言模型构建的四个主要阶段:预训练、有监督微调、奖励建模和强化学习,详细介绍各阶段使用的算法、数据、难点以及实践经验。

http://pic1.zhimg.com/v2-e79752dc587c436d7a00fb5be93e0613_r.jpg?source=1940ef5c
预训练阶段需要利用包含数千亿甚至数万亿单词的训练数据,并借助由数千块高性能 GPU 和高速网络组成的超级计算机,花费数十天完成深度神经网络参数的训练。这一阶段的核心难点在于如何构建训练数据以及如何高效地进行分布式训练。
有监督微调阶段利用少量高质量的数据集,其中包含用户输入的提示词(Prompt)和对应的理想输出结果。提示词可以是问题、闲聊对话、任务指令等多种形式和任务。这个阶段是从语言模型向对话模型转变的关键,其核心难点在于如何构建训练数据,包括训练数据内部多个任务之间的关系、训练数据与预训练之间的关系以及训练数据的规模。
奖励建模阶段的目标是构建一个文本质量对比模型,用于对于同一个提示词,对有监督微调模型给出的多个不同输出结果进行质量排序。这一阶段的核心难点在于如何限定奖励模型的应用范围以及如何构建训练数据。
强化学习阶段根据数十万提示词,利用前一阶段训练的奖励模型,对有监督微调模型对用户提示词补全结果的质量进行评估,并与语言模型建模目标综合得到更好的效果。这一阶段的难点在于解决强化学习方法稳定性不高、超参数众多以及模型收敛困难等问题。
除了大语言模型的构建,本书还进一步介绍了大语言模型的应用和评估方法。主要内容包括如何将大语言模型与外部工具和知识源进行连接、如何利用大语言模型进行自动规划完成复杂任务,以及针对大语言模型的各类评估方法。

wzcaicai 发表于 2023-10-4 06:56:12

大模型时代(Large Model Era)是指在自然语言处理(NLP)和人工智能(AI)领域,使用大型预训练模型(Large Pretrained Models)解决复杂任务的时期。这个时代的关键特征是大型神经网络模型,它们具有大量的参数和层,可以捕捉和表示丰富的知识和模式。这些模型通常通过在大规模语料库上进行预训练,然后针对特定任务进行微调,以实现较高的性能。
大模型时代最典型的代表是Transformer架构的模型,如OpenAI的GPT系列(包括GPT-2、GPT-3和GPT-4)和谷歌的BERT系列。这些模型在很多自然语言处理任务上表现出色,如文本生成、文本分类、情感分析、问答系统等。

http://pic1.zhimg.com/v2-df7a1adeb0b2035023f9fd61df06d5da_r.jpg?source=1940ef5c
大模型时代的主要优点是:

[*]更强大的泛化能力:大型预训练模型能够在多种任务和领域中表现出优越的性能,减少了特定任务需要的训练数据量。
[*]更好的迁移学习:预训练好的大型模型可以迅速地应用于新任务,只需进行少量的微调即可达到较高的性能。
[*]知识融合:大型预训练模型通过学习大量的文本数据,将人类知识和语言规律内化为网络参数,使得这些模型能够更好地理解和生成自然语言。
然而,大模型时代也有一些挑战和局限性:

[*]计算资源需求:大型预训练模型需要大量的计算资源进行训练,这对于普通用户和研究人员来说可能是一个难以承受的负担。
[*]模型可解释性:大型神经网络模型的可解释性较差,难以理解模型的决策过程和原因。
[*]数据偏见和安全隐患:由于训练数据中可能存在的偏见,大型预训练模型可能会产生有偏见或不道德的输出。此外,这些模型可能会生成虚假信息或泄露敏感数据。
那,大模型时代下怎么入门NLP?

—了解大模型时代的背景和特点后,该怎么学怎么学。

[*]学习基本概念:首先,要对NLP的基本概念有所了解,包括语言模型、分词、词性标注、句法分析、语义分析、情感分析等。
[*]学习编程语言:掌握至少一种编程语言,如Python。Python是最常用的NLP编程语言,因为它有很多用于自然语言处理的库和框架,如NLTK、spaCy、gensim和transformers。
[*]学习基本算法和技术:了解NLP的基本算法和技术,如TF-IDF、word2vec、BERT等。这些算法和技术可以帮助初学者理解NLP任务的处理方式,以及如何实现自己的NLP应用。
[*]学习深度学习:了解深度学习的基本概念,如神经网络、卷积神经网络(CNN)、循环神经网络(RNN)和Transformer等。深度学习在现代NLP任务中发挥着重要作用,因此对深度学习的理解将有助于初学者更好地应对复杂的NLP任务。
[*]动手实践:通过实际项目或练习来提高技能。可以尝试使用现有的NLP库和框架,或参加在线编程竞赛,如Kaggle等,这将有助于巩固所学知识并提高问题解决能力。
[*]阅读论文和文章:关注NLP领域的最新研究,阅读相关论文、博客和教程。这将有助于了解当前的研究趋势和最新技术,为未来的工作和学术发展奠定基础。
[*]加入社群和论坛:加入NLP相关的社群和论坛,与同行交流和讨论问题。这将有助于扩大人际网络,获取更多的学习资源和经验分享。
[*]深化领域知识:在掌握基本知识和技能的基础上,可以选择深入学习某个特定领域,如机器翻译、语音识别、情感分析等。


[*]入门: Python基础→Python数据挖掘
[*]中级: 机器学习
[*]进阶: NLP自然语言
[*]高级: OpenCV基础→深度学习
想要学习人工智能,需要掌握python到什么程度?一些相关学习资源,涵盖自然语言、深度学习、人工智能等

书籍:


[*]《Python自然语言处理实战》(尹成、朱恒、苏剑林等著)
[*]《深度学习》(Ian Goodfellow、Yoshua Bengio、Aaron Courville著;黄文坚、李钢等译)
[*]《动手学深度学习》(李沐、阿斯顿·张、扎卡里·C. 立顿等著)

在线教程与课程:


[*]吴恩达的深度学习课程(网易云课堂):https://study.163.com/course/introduction/1004570029.htm
[*]飞桨PaddlePaddle官方教程:https://www.paddlepaddle.org.cn/tutorials
[*]莫烦Python的人工智能教程:https://morvanzhou.github.io/tutorials/machine-learning/

论坛与社区:

[*]AI学习圈:https://www.ailearning.com.cn/
[*]CSDN:https://www.csdn.net/
实践与竞赛平台:


[*]Kaggle:https://www.kaggle.com/
[*]天池大数据竞赛平台:https://tianchi.aliyun.com/
[*]DataFountain:https://www.datafountain.cn/

moi7889 发表于 2023-10-4 06:57:04

考虑到大模型时代,nlp的任务基本统一了,过去很多nlp技术不用花太大精力去研究了,直接follow最新技术即可,遇到绕不过的问题,再回头补一补就行了。知识爆炸的时代,重要的是快速向前跑。
不过还是转述一下某位大佬们对nlp技术阶段的划分总结,权当参考吧:
第一范式:基于传统机器学习模型的范式;
第二范式:基于深度学习模型的范式,如 word2vec 特征 + LSTM 等深度学习算法;
第三范式:基于预训练模型 + finetuning的范式;
第四范式:基于预训练模型 + Prompt + 预测的范式。

zhang1694 发表于 2023-10-4 06:57:38

1、理解什么是自然语言处理。

[*]什么是自然语言?
[*]NLP、NLU、NLG之间的区别与联系?
[*]自然语言处理中的一些基本任务和相关的应用?
2、怎么让计算机去理解自然语言?

[*]怎么对句子进行分词。
[*]词的基本表示:同义词/上位词、one-hot、基于上下文的统计表示。
[*]词的分布式表示:
[*]语言模型:N-gram语言模型(基于统计)
[*]神经语言模型:利用基于神经网络的方法来计算词的分布式表示
[*]怎么由词表示得到句子的表示。
3、python基本指示:环境搭建、基本数据类型、循环体、函数、对象等。
4、经典的一些模型?

[*]word2vec
[*]glove
[*]elmo
[*]rnn
[*]lstm
[*]gru
[*]cnn
5、怎么利用上述的网络进行文本分类、命名实体识别(额外要了解CRF)、机器翻译(额外了解seq2seq),学习pytorch框架,了解数据的预处理,模型的构建,模型的输入、输出,模型的预测以及评价指标的计算。可能需要补充激活函数、优化器、反向传播、GPU的使用相关知识。
6、了解transformer?

[*]输入层:词嵌入、相对位置编码
[*]隐含层:多头注意力、层归一化(LN)、残差连接、激活函数、前馈神经网络
[*]输出层:全连接层、损失函数的计算。
[*]编码器、解码器、编码器-解码器
7、预训练语言模型?
需要了解数据是怎么处理的,模型的输入、模型的结构、训练的任务、模型的输出。

[*]BERT(自编码)
[*]GPT(自回归)
[*]BART(编码-解码结构)
8、使用预训练模型进行微调?
9、基于prompt使用预训练语言模型?
10、了解大语言模型?
11、如何使用大语言模型进行参数有效微调?
12、怎么加速对模型的部署?压缩模型、使用其它加速推理工具。
13、怎么进行分布式训练?

在学习的过程中可能会发现有更多的知识点,按照自己的需求去学习就行,最终要的是要动手去实验并理解。

zxdxzh 发表于 2023-10-4 06:57:52

按照目前这架势,感觉tf-idf时代已经过去了。模型侧建议直接word2vec开始了解,然后到transformer(也可以了解下rnn做法),bert,各种变种bert,gpt,chatgpt等。
业务侧,了解各种nlp任务的做法比如机器阅读,实体识别,情感分类,语句匹配,内容总结的具体落地是怎么落地的。
基础部分就是神经网络,embedding技术,采样技术等。
数据侧就是prompt技术,数据增强技术,数据清洗技术等。
技术栈侧,c++,python,tensorlfow,pytorch,scikitlean,pandas,transformers 等
页: [1]
查看完整版本: 大模型时代下,nlp初学者需要怎么入门?