LLM背后的基礎模型 1

寫在最前面的話

任何開源技術是最有生命力的,也是最具分享精神的。一直覺得大模型領域需要有一個系列能夠從零開始系統性的講述領域知識,給與這個領域的從業人員或者對其有興趣的門外漢及時的幫助。國外承擔“布道者”的公司眾多,而數磚公司在這個領域一直走在前面。恰逢數磚的“從頭開始大模型的基礎模型”于近期發布,借花獻佛,在基礎上加入自身理解進而形成這個特殊的專欄。

雖然生成式人工智能技術的正在迅猛發展,但是現階段面臨的主要挑戰是沒有一個模型能夠適用于所有情況。所以人們對為特定用例創建定制化模型的興趣日益濃厚。為了找到實踐中的最佳模型,亦或是追求在隱私、品質、成本、服務及模型使用延遲等多方面達到平衡,決定了一定需要定制化模型。由此可見,開發新的大型語言模型是一項浩大的工程。

目前,市場上有許多成功的專有和開源LLM模型,它們由不同的公司和研究團隊提供,如Anthropic、ChatGPT、PaLM-2、Databricks的Dolly、Mosaic MPT、StabilityAI的模型以及Hugging Face上的眾多模型,這些模型如何選擇讓人左右為難。通過這個專欄,能夠幫助大家更好地理解和應用這些模型,通過理解它們的基本原理和應用方法,進而構建出高品質的應用程序和模型。

令人興奮的是隨著開源模型的興起,免費模型的品質正在快速提升,相關的知識也在不斷積累。源源不斷出現的新開源模型和研究社群正在探索的技術,能夠幫助需要者快速的構建出色的語言模型和應用。即便是許多開源模型源于最初無法商業使用的技術。例如,Meta或Facebook在2023年初發布的Llama模型,激發了許多研究人員的創新。史丹佛大學的一個團隊基于Llama模型開發了Alpaca模型,它擅長聊天和遵循指示,使其在多種應用中更具實用性。此外,Databricks的Dolly、MosaicML的MPT等模型也開始提供商業許可,讓模型的使用更加靈活和廣泛。評估模型也是極為重要,如何有效的構建評估體系也是這個專欄會討論之一。Hugging Face已經存在LLM排行榜專注于不同任務的評估,幫助開發者了解模型的表現,并構建更好的模型。

雖然LLM領域的知識和技術日新月異,但是萬地高樓平地起,在這個系列中會更加關注基礎。通過細節了解模型的基本運作原理、預訓練數據和推理過程,以及各個階段的可用選項,這些基礎知識的微小變化構成了其他所有內容。

Transformer架構

在這個系列的第一部分將進入深度學習和自然語言處理的奇妙世界,首先聚焦于Transformer架構——這是現代大型語言模型的核心技術。本部分內容不僅是整個系列的基石,也是理解后續章節的關鍵所在。

Transformer的當前形式首次亮相是在2017年的BERT論文中。自那以后,大多數的大型語言模型都是基于Transformer的某種變體,包括OpenAI推出的GPT,這是一個預訓練的Transformer模型,對當前基于聊天的語言模型產生了深遠的影響。有趣的是,在Transformer出現之前,雖然有許多深度學習模型的快速實驗,但它們更像是寒武紀大爆炸,各種不同層次和模塊的組合。而Transformer的出現,至少在自然語言處理領域,使得許多模型設計都遵循了相同的基本構建塊。這使得研究的關注點轉移到了不同的訓練技術和數據生成方法上。

盡管底層架構并沒有經歷過大規模的改變,但Transformer架構的強大之處在于它允許模型學習輸入不同方面之間的多種交互,并且可以堆疊到不同的深度,以便理解模型的不同特性。即使今天存在一些變化,這些變化可能旨在提高速度或降低成本,但基本的構建塊仍然是相同的。

2023年,在大型語言模型領域見證了思想、概念和創新的爆炸式增長,這些創新不斷給我們帶來驚喜。ChatGPT和其他類似技術代表了人類與技術之間的一種新型交互方式,因為它們基于自然語言處理,我們能夠更自然地與它們交流。同時,它們廣泛的應用和深厚的技術知識也使我們能夠更好地處理日常生活中的事務。

對于過去10年左右熟悉深度學習世界的人來說,您可能已經注意到,在2010至2012年初,我們經歷了一個類似的熱潮時刻。當時,卷積神經網絡的創新震撼了計算機視覺世界。這項創新就是卷積層,它使我們能夠查看不同空間區域中的圖像,嘗試了解圖像內部的情況。正如您在圖片中看到的,這意味著我們可以與舊技術競爭并將其徹底擊敗。通過ImageNet的測試,卷積神經網絡輕松地在競爭中占據主導地位,并且自2012年以來,每個模型都基于卷積神經網絡,使得結果達到了飽和狀態。自然語言處理領域也在等待這樣的發展。

我們在2018年左右迎來了這一突破,釋放大型語言模型力量的創新被稱為“注意力機制”。正如這個詞所暗示的,注意力機制允許計算機(或者在這個情況下是Transformer)準確地了解一個單詞如何按照特定順序與其他單詞相關聯,并給出序列中每個單詞之間的重要性分數。對我們來說,這似乎是一個顯而易見的概念,它是我們在生命早期就開發出來的,但它對于自然語言處理來說是至關重要的一部分,能夠釋放以前無法實現的能力。雖然注意力機制在我們掌握自然語言處理方面邁出了一大步,但它實際上只是構建我們現在看到的Transformer和類似模型所需的一小部分。因此,深入了解Transformer非常重要。后續的旅途將圍繞著如下的問題展開:

  • 明確掌握如何使用Python代碼實現Transformer模型。

  • 深入理解不同類型Transformer架構中的構建塊,包括編碼器、解碼器以及編碼器-解碼器組合模型。

  • 充分理解注意力機制的原理、工作方式及其重要性

  • 將大模型應用于多種自然語言處理(NLP)任務,并評估它們的性能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20606.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20606.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20606.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云技術最全詳解

目錄 云技術 1.定義 2.特點 2.類型 2.1IaaS(基礎設置即服務) 2.2PaaS(平臺即服務) 2.3SaaS(軟件即服務) 3.云技術模型 3.1公有云 3.2私有云 3.3混合云 云技術 1.定義 云技術是一種云計算和存儲…

如何讓 LightRoom 每次導入照片后不自動彈出 SD 卡 LR

如何讓 LightRoom 每次導入照片后不自動彈出 SD 卡 LR 在導入窗口左上角有個選項: 導入后彈出 把這個去掉就可以了

Rust 基本語法

變量 整數 無符號整數以u開頭有符號整數以i開頭對于Rust默認整數是i32對于整數溢出 開發模式中編譯會檢測溢出,如果溢出會導致程序panic發布模式中編譯不會檢查可能會導致的溢出,如果運行時發生溢出,會執行環繞操作保證數值在范圍內且程序不…

Spark大數據 掌握RDD的創建

在Apache Spark中,彈性分布式數據集(Resilient Distributed Dataset,簡稱RDD)是一個核心的數據結構,用于表示不可變、可分區、可并行操作的元素集合。理解并掌握RDD的創建是使用Spark進行大數據處理的關鍵步驟之一。 …

Qt Creator(Qt 6.6)拷貝一行

Edit - Preference - Environment: 可看到,拷貝一行的快捷鍵是: ctrl Ins

數據結構-堆(帶圖)詳解

前言 本篇博客我們來仔細說一下二叉樹順序存儲的堆的結構,我們來看看堆到底如何實現,以及所謂的堆排序到底是什么 💓 個人主頁:普通young man-CSDN博客 ? 文章專欄:數據結構_普通young man的博客-CSDN博客 若有問題 評…

程序員是牛馬嗎?

在今天的討論中,一個引人深思的問題被提出:程序員是否只是現代社會的牛馬?這個問題迅速引發了激烈的爭論。許多程序員開始意識到,盡管他們辛勤工作,但最終可能仍無法擺脫被剝削的命運。因此,他們渴望改變&a…

MySQL(二)-基礎操作

一、約束 有時候,數據庫中數據是有約束的,比如 性別列,你不能填一些奇奇怪怪的數據~ 如果靠人為的來對數據進行檢索約束的話,肯定是不行的,人肯定會犯錯~因此就需要讓計算機對插入的數據進行約束要求! 約…

混合模型方差分析

文章目錄 一、說明二、受試者“間”因素和受試者“內”因素的意思?三、混合模型方差分析回答 3 件事四、混合模型方差分析的假設 一、說明 在本文中,我將討論一種稱為混合模型方差分析的方差分析變體,也稱為具有重復測量的 2 因素方差分析。…

音視頻開發_SDL事件處理

今天我為大家介紹一下SDL的事件處理。這里所指的事件處理就是我們通常所說的,鍵盤事件,鼠標事件,窗口事件等。 SDL對這些事件都做了封裝,提供了統一的API,下面我們就來詳細的看一下。 SDL中的事件處理 要想了解 SDL…

VB.net進行CAD二次開發(四)

netload不能彈出對話框&#xff0c;參考文獻2 參考文獻1說明了自定義菜單的問題&#xff0c;用的是cad的系統命令 只要加載了dll&#xff0c;自定義的命令與cad的命令同等地位。 這時&#xff0c;可以將自定義菜單的系統命令替換為自定義命令。 <CommandMethod("Add…

STL-queue的使用及其模擬實現

在C標準庫中&#xff0c;隊列(queue)是一種容器適配器&#xff0c;它以先進先出的方式組織數據&#xff0c;其中從容器一端插入元素&#xff0c;另一端取出元素。 queue的使用 queue的構造函數 queue的成員函數 empty&#xff1a;檢測隊列是否為空size&#xff1a;返回隊列中有…

代碼隨想錄算法訓練營 day23| ● 669. 修剪二叉搜索樹 ● 108.將有序數組轉換為二叉搜索樹 ● 538.把二叉搜索樹轉換為累加樹

文章目錄 前言669. 修剪二叉搜索樹思路方法一 遞歸法方法二 迭代法 108.將有序數組轉換為二叉搜索樹思路方法一 遞歸法方法二 迭代法 538.把二叉搜索樹轉換為累加樹思路方法一方法二 總結 前言 迭代法都沒看主要是669和538【538很簡單】 669. 修剪二叉搜索樹 思路 不用看教程…

【C++刷題】優選算法——位運算

常見位運算操作總結&#xff1a; 基礎位運算 &&#xff1a;有0則為0 |&#xff1a;有1則為1 ^&#xff1a;相同為0&#xff0c;相異為1 / 無進位相加運算符的優先級 管它什么優先級&#xff0c;加括號就完事兒了給一個數 n&#xff0c;確定它的二進制表示中的第 i (默認是從…

【基本數據結構】平衡二叉樹

文章目錄 前言平衡二叉樹1 簡介2 旋轉2.1 左旋2.2 右旋2.3 何時旋轉 3 插入節點4 刪除節點5 代碼 參考資料寫在最后 前言 本系列專注更新基本數據結構&#xff0c;現有以下文章&#xff1a; 【算法與數據結構】數組. 【算法與數據結構】鏈表. 【算法與數據結構】哈希表. 【…

【斯坦福因果推斷課程全集】1_隨機對照試驗1

目錄 The average treatment effect Difference-in-means estimation IID Sampling and Population Asymptotics Example: The linear model Regression adjustments with a linear model 隨機對照試驗&#xff08;RCT&#xff09;是統計因果推論的基礎。如果有的話&#…

關于FPGA 使用SPI FLASH固化時如何配置固化參數

關于FPGA 使用SPI FLASH固化時如何配置固化參數 EDA工具&#xff1a;Vivado 關于FPGA 使用SPI FLASH固化時如何配置固化參數一、引言二、如何設置固化參數&#xff1a;使用50M的速度 &#xff0c;SPI為X4 &#xff0c;以及bit壓縮第一&#xff1a;點open implenment design第二…

Android之onMeasure的三種模式

Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(widthMeasureSpec, heightMeasureSpec);}在 Android 中&#xff0c;onMeasure() 方法是 View 或 ViewGroup 中的一個重要方法&#xff0c;用于測量視圖的大小。在 onMeasure(…

安裝軟件缺少dll文件怎么辦,分享多種解決dll問題的方法

在計算機使用過程中&#xff0c;我們經常會遇到安裝軟件時提示缺少dll文件的問題。這種情況通常會導致軟件無法正常運行或啟動。為了解決這個問題&#xff0c;我總結了以下五種方法&#xff0c;希望對大家有所幫助。 一&#xff0c;了解DLL文件是什么 動態鏈接庫&#xff08;D…

簡單說說我對集成學習算法的一點理解

概要 集成學習&#xff08;Ensemble Learning&#xff09;是一種機器學習技術框架&#xff0c;它通過構建并結合多個學習器&#xff08;也稱為個體學習器或基學習器&#xff09;來完成學習任務。 集成學習旨在通過組合多個基學習器的預測結果來提高整體模型的性能。每個基學習…