近年來,在自然語言處理領域,基于預訓練語言模型的方法已形成全新范式。本書內(nèi)容分為基礎知識、預訓練語言模型,以及實踐與應用3個部分,共9章。第一部分全面、系統(tǒng)地介紹自然語言處理、神經(jīng)網(wǎng)絡和預訓練語言模型的相關知識。第二部分介紹幾種具有代表性的預訓練語言模型的原理和機制(涉及注意力機制和Transformer模型),包括BERT及其變種,以及近年來發(fā)展迅猛的GPT和提示工程。第三部分介紹了基于LangChain和ChatGLM-6B的知識庫問答系統(tǒng)、基于大型語言模型的自然語言處理任務應用研究和大模型訓練實戰(zhàn)等具體應用,旨在從應用的角度加深讀者對預訓練語言模型理論的理解,便于讀者在實踐中提高技能,達到理論和實踐的統(tǒng)一。
本書適合計算機相關專業(yè)的學生,以及其他對預訓練語言模型感興趣的讀者閱讀。
基礎知識:全面、系統(tǒng)介紹預訓練語言模型的相關知識;
預訓練語言模型:介紹具有代表性的預訓練語言模型的原理和機制;
實踐與應用:介紹知識庫問答系統(tǒng)、基于自然語言處理任務應用研究、大模型訓練實戰(zhàn)等具體應用。
自然語言處理工程師,在機器學習、深度學習和自然語言處理領域有十余年的算法研發(fā)經(jīng)驗,曾在一線大廠阿里巴巴、京東等擔任過資深算法工程師和算法經(jīng)理等職,現(xiàn)在在世界500強公司擔任自然語言處理團隊負責人,負責過金融和醫(yī)療領域的知識圖譜、智能問答系統(tǒng)、文本生成系統(tǒng)等企業(yè)級核心項目。
目 錄
第 一部分 基礎知識
第 1章 自然語言處理介紹2
1.1 什么是自然語言處理2
1.2 自然語言處理的發(fā)展歷史2
1.3 自然語言的特性3
1.3.1 歧義性4
1.3.2 主觀性4
1.3.3 創(chuàng)造性4
1.3.4 社會性5
1.4 自然語言處理的研究領域6
1.5 自然語言處理的常規(guī)任務6
1.5.1 機器翻譯7
1.5.2 信息抽取8
1.6 自然語言處理的常用工具12
1.6.1 常用工具12
1.6.2 PyTorch介紹13
第 2章 神經(jīng)網(wǎng)絡預備知識18
2.1 神經(jīng)網(wǎng)絡核心概念18
2.1.1 導數(shù)和梯度18
2.1.2 鏈式法則20
2.1.3 損失函數(shù)22
2.1.4 前向傳播與反向傳播24
2.1.5 激活函數(shù)28
2.2 神經(jīng)網(wǎng)絡主要類型33
2.2.1 全連接神經(jīng)網(wǎng)絡33
2.2.2 卷積神經(jīng)網(wǎng)絡34
2.2.3 循環(huán)神經(jīng)網(wǎng)絡36
2.2.4 長短期記憶網(wǎng)絡38
2.2.5 自編碼器40
2.2.6 生成對抗網(wǎng)絡41
第3章 預訓練語言模型基礎知識44
3.1 什么是預訓練44
3.2 文本表示方法的分類45
3.3 詞袋型文本表示方法46
3.3.1 獨熱編碼46
3.3.2 詞袋模型47
3.3.3 N-gram49
3.3.4 TF-IDF51
3.4 主題型文本表示方法53
3.4.1 LSA53
3.4.2 LDA57
3.5 固定型詞向量文本表示方法59
3.5.1 Word2Vec59
3.5.2 GloVe70
3.5.3 FastText75
3.6 動態(tài)型詞向量文本表示方法77
3.6.1 ELMo77
3.6.2 ELMo實現(xiàn)78
第二部分 預訓練語言模型
第4章 注意力機制和Transformer
模型82
4.1 注意力機制簡介82
4.1.1 什么是注意力機制82
4.1.2 自注意力機制88
4.1.3 多頭注意力機制95
4.2 Transformer模型97
4.2.1 編碼器部分98
4.2.2 解碼器部分101
4.2.3 模型示例104
第5章 BERT和變種BERT110
5.1 BERT110
5.1.1 BERT模型結(jié)構(gòu)110
5.1.2 BERT輸入表示112
5.1.3 BERT預訓練113
5.1.4 BERT微調(diào)訓練117
5.1.5 模型示例120
5.2 變種BERT122
5.2.1 ALBERT122
5.2.2 XLNet123
5.2.3 RoBERTa127
5.2.4 ELECTRA129
5.2.5 ERNIE132
第6章 GPT和提示工程137
6.1 GPT系列137
6.1.1 GPT-1137
6.1.2 GPT-2140
6.1.3 GPT-3142
6.1.4 InstructGPT和ChatGPT144
6.1.5 GPT-4147
6.2 Prompt148
6.2.1 什么是提示工程148
6.2.2 構(gòu)建提示模板的方法151
6.2.3 提示工程常用技術(shù)152
6.2.4 提示詞應用示例157
第三部分 實踐與應用
第7章 基于LangChain和ChatGLM-6B的知識庫問答系統(tǒng)166
7.1 核心組件166
7.1.1 LangChain166
7.1.2 ChatGLM-6B169
7.2 構(gòu)建流程172
7.2.1 本地知識庫構(gòu)建172
7.2.2 基于知識庫的問答系統(tǒng)
構(gòu)建173
7.3 趨勢與挑戰(zhàn)176
7.3.1 發(fā)展趨勢176
7.3.2 面臨的挑戰(zhàn)177
第8章 基于大型語言模型的自然語言處理任務應用研究178
8.1 文本分類任務178
8.1.1 任務描述178
8.1.2 提示詞設計179
8.1.3 實現(xiàn)與測試180
8.2 信息抽取任務182
8.2.1 任務描述182
8.2.2 提示詞設計183
8.2.3 實現(xiàn)與測試184
8.3 文本匹配任務186
8.3.1 任務描述187
8.3.2 提示詞設計187
8.3.3 實現(xiàn)與測試187
第9章 大模型訓練實戰(zhàn)190
9.1 預訓練階段190
9.1.1 數(shù)據(jù)準備190
9.1.2 數(shù)據(jù)處理191
9.1.3 詞表擴充192
9.1.4 模型預訓練193
9.1.5 模型效果評測195
9.2 指令微調(diào)階段197
9.2.1 指令微調(diào)197
9.2.2 數(shù)據(jù)集準備199
9.2.3 指令微調(diào)模板202
9.3 獎勵模型204
9.3.1 直接打分204
9.3.2 排序打分207
9.4 RLHF微調(diào)211
9.4.1 流程介紹211
9.4.2 具體實現(xiàn)211
9.5 大模型評測214
9.5.1 評測內(nèi)容214
9.5.2 評測方法215
9.5.3 評測挑戰(zhàn)216