ljg2np 发表于 2024-11-27 09:08

《大语言模型开发:用开源模型开发本地系统》-开源大语言模型的架构、训练和推理过程

<div class='showpostmsg'><p>&nbsp; &nbsp; &nbsp;首先感谢EEWorld和清华大学出版社提供此次书籍阅读和分享的机会,对本书作者的辛勤付出也表示感谢。</p>

<p >&nbsp; &nbsp; &nbsp;本文分享书中对&ldquo;理解开源大语言模型的架构、训练和推理过程&rdquo;的阅读理解。</p>

<p >一、引言</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp;本书共分十二章,书中主要讲解了LLM的一些关键技术,本书以开源模型Llama2为主要研究对象就关键技术进行了阐述和介绍。该书并不是一本开发LLM的专著,而是将注意力放在了LLM开发的关键技术和细节上,以开源模型的代表之一Llama2为着手点,就PyTorch库在Llama2的应用进行了解析,书中有代码讲解。</p>

<div style="text-align: center;"></div>

<div style="text-align: center;">
<p style="text-align: left;">&nbsp; &nbsp; &nbsp; &nbsp; 通览此书,感觉书中内容详实,对LLM的发展脉络进行了整理,介绍了AI深度学习的一些基本知识,对一些基础内容进行了概述,如PyTorch应用等,对NLP的主要内容,通过一章的幅度进行了讲解,不失为一本学习NLP技术的比较难得的参考书。</p>

<p style="text-align: left;">二、模型架构</p>

<p style="text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 书中讲到,LLM模型架构,比较成熟的,是基于transformers的架构,无论闭源的GPT,还是开源的Llama。</p>

<p style="text-align: left;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;transformer架构以自注意力机制技术得到广泛推广和应用,分为编码器、解码器和混合编解码器,它们因应用而有不同。</p>

<div style="text-align: center;"></div>

<p style="text-align: left;">三、模型训练</p>

<p style="text-align: left;">&nbsp; &nbsp; &nbsp; &nbsp; 在LLM的模型训练中,主要是大模型的预训练和模型微调相结合。</p>

<div style="text-align: center;"></div>

<p style="text-align: left;">&nbsp; &nbsp; &nbsp; &nbsp; 对于大模型的预训练,首先对数据集进行划分,分为训练集、验证集和预测集。由于模型的预训练,采用DNN的形式进行,通过训练得到的NN的权重参数和偏差参数的数量非常大,因此将这类模型称为大模型。</p>

<p style="text-align: left;">&nbsp; &nbsp; &nbsp; &nbsp; LLM的训练是无监督学习模式,基于transformer架构,通过模型训练来提取模型的特征,这与CNN和RNN的架构有所不同。</p>

<p style="text-align: left;">四、模型推理过程</p>

<p style="text-align: left;">&nbsp; &nbsp; &nbsp; &nbsp; 模型推理过程,按书中的描述,主要分为两类:一类是逻辑自回归,按照之前的语料预测下一词元,典型代表是GPT;一类是自编码模型,这类模型通过上下文关系,来推理得到预测词元,典型的代表是BERT。</p>
</div>

<div style="text-align: center;"></div>

<div style="text-align: center;">
<p style="text-align: left;">五、小结与讨论</p>

<p style="text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;总体来说,对于入门级别的读者来说,书中提供的内容和资料还是比较详实和充分的,虽然在成书的当年Meta又推出了Llama3,但对于Llama2的解析,个人认为并不过时,毕竟架构和开源的大方向是不变的,有了这个基础,对于我们了解和应用Llama3也是有帮助的。</p>

<p style="text-align: left;">&nbsp;</p>

<p style="text-align: left;">推荐阅读和参考资料:1、transformer架构。</p>

<p style="text-align: left;">2、Llama3技术论文。</p>
</div>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

ljg2np 发表于 2024-12-1 19:45

<p></p>


<p>预训练后的大模型往往作为二次开发的基础模型,通过模型微调后得到进一步应用,如GPT是基础大模型,微调后的chatGPT应用广泛;Llama模型也有相应的微调模型,供大家进一步使用。</p>

ljg2np 发表于 2024-12-1 19:49

<p></p>


<p>LoRA作为增量模型出现,需要结合基础大模型一同使用,可以与基础大模型合并,也可以不合并,增量模型不能单独使用。</p>

ljg2np 发表于 2024-12-1 19:54

<p></p>


<p>大模型的泛化,是大模型提高其应用能力的一种手段,它可以通过对训练数据集的干预(数据清洗),以避免和减轻私有数据集对模型训练的影响。</p>
页: [1]
查看完整版本: 《大语言模型开发:用开源模型开发本地系统》-开源大语言模型的架构、训练和推理过程