本文目录导航:
- 语言预训练模型梳理: BERT & GPT & T5 & BART
- 【llm大语言模型】一文看懂llama2(原理,模型,训练)
- [简话语音识别] 语言模型(一)ngram基础
- 背景介绍
- ngram理论知识
- ngram模型的质量评估
- ngram概率计算与平滑技术
- 训练工具与实践示例
- 参考资料
语言预训练模型梳理: BERT & GPT & T5 & BART
语言预训练模型概述:BERT、GPT、T5和BART的探索在NLP领域,早期的Word2Vec和GloVe模型虽然提供了词嵌入,但其固定不变的向量忽视了词义在不同上下文中的变化。
为了解决这一问题,深度学习模型如RNN和Attention模型应运而生。
由此催生了“预训练-微调”模式,其中BERT和GPT作为经典代表脱颖而出。
BERT,基于Transformer的编码器,通过掩码语言模型和下一句预测进行预训练,适用于理解任务;而GPT则源自Transformer的解码器,采用生成式预训练,擅长生成和理解。
T5和BART作为编码器-解码器模型,提供了更通用的文本转换能力。
这些模型的核心在于上下文相关嵌入层,它们通过编码器的上下文注意力捕捉语义信息。
预训练任务主要分为自回归(如L2R LM和Prefix LM)和自编码(如Mask LM),通过全文本重建或污染文本重建来计算损失。
BERT,以其双向编码和上下文敏感性,广泛应用于文本分类、问答等任务,但其生成和长度限制限制了其在生成任务中的表现。
而GPT系列,从GPT-1到GPT-3,随着参数增加,表现出更强的有监督任务处理能力。
T5则统一了seq2seq任务,通过Text-to-Text接口,简化了微调过程。
BART则通过不同的噪声处理策略,支持多样的预训练和微调任务。
这些模型的优缺点和适用场景各异,预训练语言模型的发展不断推动着NLP技术的进步,为自然语言处理任务提供了强大的工具。
【llm大语言模型】一文看懂llama2(原理,模型,训练)
llama2是由Meta公司开源的语言大模型,其训练数据集规模达到惊人的2万亿token,相较于之前的版本,最大上下文长度从2048扩展到了4096,使得模型能够理解和生成更长的文本内容,包括7B、13B和70B三种不同的参数量级版本。
这一模型在各种基准测试中表现出色,并且适用于研究和商业应用。
在语言处理过程中,文本的分词(tokenize)是将连续文本转换为便于模型处理的数字表示过程。
常见的分词方法有词分词、基于字符的分词以及结合词与字符的子词分词。
子词分词方法如BPE(Byte Pair Encoding)、WordPiece和Unigram,通过在语料库中查找频繁出现的连续子串来构建词表,同时解决分词粒度与词汇表大小之间的平衡问题。
之后,通过将分词后的文本映射到高维向量空间,即Embedding,以捕获单词之间的语义关系,减少维度的同时提高表示能力。
这有助于模型理解单词在语境中的意义,实现降维和特征学习。
transformer架构是当前主流的大语言模型设计,它包含编码器和解码器两部分,其中llama2仅使用了解码器部分。
选择Decoder-only结构的原因是基于理论分析和实验验证,证实该结构能够保持较高的表达能力的同时,减少计算复杂度。
llama2的模型结构相对简单,包含多个解码器层,每个层中应用了RMSNorm、GQA(全局注意力)和RoPE(相对位置编码)等优化技术。
在推理阶段,llama2模型采用生成接口(generate)进行预测,与一般深度学习模型不同。
为提高生成质量,模型通常采用集束搜索(beam search)算法,结合RoPE外推技术,动态扩展输入序列长度,从而生成更符合语义的文本。
训练llama2模型涉及预训练、指令微调和奖励模型训练三个步骤。
数据集的选择对于模型性能至关重要,通常包含大量文本数据。
预训练阶段通过扩充词汇表、使用特定的训练脚本和库进行大规模训练。
在指令微调阶段,模型进一步优化以适应特定任务需求。
对于RLHF(Reinforcement Learning from Human Feedback)微调,通过构建奖励模型,利用人类反馈优化模型决策,提升模型在特定任务上的性能。
模型部署方面,llama2支持多种部署方式,包括建立web端问答平台、模型量化以适应移动设备、与LangChain集成以完成特定任务,如检索式问答,以及将llm模型应用于AI代理和构建私有知识库。
此外,llm模型还可以与多模态数据结合,如视觉、点云、视频等,为下游任务提供辅助。
学习llama2模型及其应用涉及多个领域知识,包括自然语言处理、深度学习、数据科学等,因此在理解过程中参考相关文档和研究是至关重要的。
[简话语音识别] 语言模型(一)ngram基础
语言模型(一):ngram基础与理解
背景介绍
语音识别技术的核心在于将语音信号转换为文本序列,主要框架包括HMM-DNN声学模型、语言模型和基于WFST的BeamSearch解码算法。
语言模型在语音识别流程中,通过引入领域内语言表达习惯,对解码搜索空间进行约束,以在合理计算时间内获得有意义的文字序列。
引入语言模型后,解码搜索空间显著减小,大大提升了语音识别的效率。
ngram理论知识
在早期,科学家尝试使用句法模板来表示语言表达习惯,但随着语言的不断演变,新的词汇和句式持续出现。
如何跟上语言变化节奏,利用统计语言模型(Statistical Language Model)成为可能,ngram技术应运而生。
统计语言模型通过计算词序列的概率来衡量与语言习惯的匹配程度,从而指导解码过程,剔除不符合语言习惯的路径。
ngram语言模型通过引入n-1阶段马尔科夫假设,假设词出现概率依赖于部分历史信息,而非全部历史信息,有效解决了词序列概率估计问题。
ngram模型的质量评估
评估ngram模型好坏的指标主要有混淆度ppl和交叉熵。
ppl描述的是从测试文本任意位置预测下一个词时的复杂程度,通过比较训练语料中的实际概率分布p和一个均匀分布q,ppl反映了模型对搜索空间的有效约束。
直观理解,ppl反映了模型在预测未知词汇时的平均不确定性,它越小,模型越能准确预测。
ngram概率计算与平滑技术
ngram概率计算通常采用最大似然估计方法。
对于未在训练语料中出现过的ngram,需要通过平滑技术进行概率估计,以避免模型的过拟合问题。
平滑技术主要包括“政府补贴”方式,如additive平滑,以及“劫富济贫”方式,如Good-Turing平滑。
为了解决“一视同仁”分配概率的问题,引入了低阶grammar信息,通过插值和回退技术重新分配概率。
其中,改进的Kneser-Ney算法是结合了这两种技术的优化版本,旨在更准确地估计概率分布。
训练工具与实践示例
srilm是一个C++工具库,提供ngram相关算法的实现,包括ngram-count、ngram等基本工具。
语音识别中的ngram语言模型训练通常包含准备词表、文本分词、ngram模型训练、保存为arpa格式、使用arap2fst生成以及可视化等步骤。
实际应用中,ngram语言模型还涉及更多高级技术,如class ngram、cache ngram、ngram2vec、ngram蒸馏压缩和联邦学习等。
参考资料
为了深入理解ngram语言模型,推荐参考以下资源:
1. 台湾大学李琳山教授的数位语音处理概论 - 台大开放式课程 (NTU OpenCourseWare)
2. srilm 初始版本发布论文
3. srilm 改进版本发布论文
4. CMU语音识别2011课程class17 ngram课件
5. 比较各种平滑方法的经典论文A n Empirical Study of Smoothing Techniques for Language Modeling
通过上述内容,我们不仅了解了ngram基础与应用,还探索了语言模型评估与概率计算的细节,以及如何利用工具库进行模型训练和实践操作。
评论(0)