言模型(LLM)原理全景解析)
Generative AI for Beginners 第 01 課生成式 AI 與大語(yǔ)言模型LLM原理全景解析【免費(fèi)下載鏈接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners本文基于 Generative AI for Beginners 課程的第 01 課孟加拉語(yǔ)譯文 translations/bn/01-introduction-to-genai/README.md展開(kāi)系統(tǒng)講解生成式 AI 的技術(shù)演進(jìn)脈絡(luò)、大語(yǔ)言模型Tokenizer 切詞 → 逐詞元預(yù)測(cè) → 概率分布采樣的內(nèi)部工作機(jī)制以及 prompt/completion 的核心概念與五類(lèi)典型用法。讀完后你將理解 LLM 為什么是非確定性的、溫度temperature參數(shù)如何影響輸出并能結(jié)合本倉(cāng)庫(kù)的shared/python工具鏈真正發(fā)起第一次大模型調(diào)用。生成式 AI 是什么以及這門(mén)課在講什么生成式 AI 是指能夠生成文本、圖像和其他類(lèi)型內(nèi)容的 AI。它最大的價(jià)值在于民主化了 AI 的使用門(mén)檻任何人不需學(xué)習(xí) Java 或 SQL只需用自然語(yǔ)言寫(xiě)一句提示prompt模型就會(huì)返回一個(gè)建議。你幾秒鐘內(nèi)就能完成寫(xiě)報(bào)告、讀報(bào)告、起草應(yīng)用等任務(wù)應(yīng)用與影響力都極為可觀。這門(mén)課程共 21 課當(dāng)前倉(cāng)庫(kù)為 Version 3將通過(guò)一個(gè)虛構(gòu)的教育類(lèi)創(chuàng)業(yè)公司后文簡(jiǎn)稱(chēng)我們的創(chuàng)業(yè)公司的視角探討如何利用生成式 AI 在教育領(lǐng)域開(kāi)辟新場(chǎng)景并如何應(yīng)對(duì)應(yīng)用帶來(lái)的社會(huì)影響與技術(shù)局限這兩類(lèi)必然存在的挑戰(zhàn)。學(xué)習(xí)導(dǎo)引與學(xué)習(xí)目標(biāo)本課件將覆蓋以下內(nèi)容商業(yè)場(chǎng)景介紹我們的創(chuàng)業(yè)公司構(gòu)想與使命生成式 AI 及其所處的當(dāng)前技術(shù)版圖是如何形成的大語(yǔ)言模型的內(nèi)部工作機(jī)制LLM 的主要能力與實(shí)用用例。完成本課后你應(yīng)當(dāng)能夠說(shuō)清什么是生成式 AI以及LLM 是如何工作的知道如何在不同用例尤其是教育場(chǎng)景中利用 LLM。場(chǎng)景設(shè)定一個(gè)教育領(lǐng)域的創(chuàng)業(yè)公司生成式 AI 是 AI 技術(shù)的巔峰形態(tài)不斷突破過(guò)去被認(rèn)為不可能的邊界。雖然生成式模型能力眾多、應(yīng)用遍地但本課程選擇聚焦它如何革教育于命。我們的創(chuàng)業(yè)公司扎根教育領(lǐng)域其使命宣言是在全球范圍內(nèi)改善學(xué)習(xí)可及性確保教育公平并根據(jù)每位學(xué)習(xí)者的需要為每個(gè)人提供個(gè)性化的學(xué)習(xí)體驗(yàn)。團(tuán)隊(duì)清楚不借助現(xiàn)代最強(qiáng)大的工具之一——大語(yǔ)言模型LLM——就不可能實(shí)現(xiàn)這個(gè)目標(biāo)。生成式 AI 有望徹底改變我們學(xué)習(xí)的方式學(xué)生將擁有 7×24 小時(shí)在線(xiàn)的虛擬教師隨時(shí)獲得海量信息與示例教師也能借助創(chuàng)新工具評(píng)估學(xué)生并給出反饋。我們是如何走到生成式 AI 的四階段技術(shù)演進(jìn)盡管生成式模型的公告制造了空前的hype炒作熱度但這項(xiàng)技術(shù)已經(jīng)醞釀了幾十年最早的研究可追溯到 20 世紀(jì) 60 年代。今天 AI 已具備對(duì)話(huà)等人類(lèi)認(rèn)知能力例如 ChatGPT、基于 GPT 模型的對(duì)話(huà)式網(wǎng)頁(yè)搜索 Copilot 等?;乜礆v史可以清晰地劃分為四個(gè)階段1. 打字式聊天機(jī)器人知識(shí)庫(kù) 關(guān)鍵詞匹配最早的 AI 原型是打字式聊天機(jī)器人typewritten chatbots從一組專(zhuān)家處抽取知識(shí)庫(kù)、錄入計(jì)算機(jī)知識(shí)庫(kù)中的答案由輸入文本中出現(xiàn)的關(guān)鍵詞觸發(fā)。但很快人們就發(fā)現(xiàn)這種靠人工編寫(xiě)應(yīng)答的方式無(wú)法良好地?cái)U(kuò)展does not scale。2. 統(tǒng)計(jì)方法登場(chǎng)機(jī)器學(xué)習(xí)20 世紀(jì) 90 年代出現(xiàn)關(guān)鍵轉(zhuǎn)折——統(tǒng)計(jì)方法被應(yīng)用到文本分析中催生了新的算法族即機(jī)器學(xué)習(xí)Machine Learning能夠從數(shù)據(jù)中學(xué)習(xí)模式而無(wú)需被顯式編程。這一思路讓機(jī)器模擬人類(lèi)語(yǔ)言理解統(tǒng)計(jì)模型在文本-標(biāo)簽配對(duì)上訓(xùn)練學(xué)會(huì)把未知輸入文本分類(lèi)到預(yù)先定義的標(biāo)簽代表消息意圖下。3. 神經(jīng)網(wǎng)絡(luò)與現(xiàn)代虛擬助手近年硬件技術(shù)的演進(jìn)能處理更大規(guī)模數(shù)據(jù)與更復(fù)雜計(jì)算推動(dòng)了 AI 研究催生了神經(jīng)網(wǎng)絡(luò) / 深度學(xué)習(xí)算法。其中循環(huán)神經(jīng)網(wǎng)絡(luò)RNN顯著增強(qiáng)了自然語(yǔ)言處理能力它通過(guò)評(píng)估詞在句子中的上下文使文本的語(yǔ)義表達(dá)更有意義。正是這一技術(shù)驅(qū)動(dòng)了 21 世紀(jì)第一個(gè)十年誕生的虛擬助手它們擅長(zhǎng)解讀人類(lèi)語(yǔ)言、識(shí)別需求并執(zhí)行動(dòng)作來(lái)滿(mǎn)足需求——比如回復(fù)預(yù)定義腳本或調(diào)用第三方服務(wù)。4. 當(dāng)下Transformer 與生成式 AI我們由此走到了今天的生成式 AI——它可視為深度學(xué)習(xí)的子集。AI 領(lǐng)域數(shù)十年的研究之后一種名為T(mén)ransformer的新模型架構(gòu)突破了 RNN 的限制能夠接收長(zhǎng)得多的文本序列作為輸入。Transformer 基于注意力機(jī)制attention mechanism讓模型給它收到的不同輸入賦予不同權(quán)重更加關(guān)注信息最集中的地方——無(wú)論其在文本序列中的先后順序如何。近期大多數(shù)生成式 AI 模型——即LLM因?yàn)樗鼈円晕谋据斎搿⑽谋据敵龉ぷ鳌蓟谶@一架構(gòu)。這類(lèi)模型的有趣之處在于它們?cè)趤?lái)自書(shū)籍、文章、網(wǎng)站等來(lái)源的海量無(wú)標(biāo)簽數(shù)據(jù)上訓(xùn)練因而可以適配非常多樣的任務(wù)并生成帶有幾分創(chuàng)意、語(yǔ)法正確的文本。它們不僅極大地提升了機(jī)器理解輸入文本的能力還賦予了機(jī)器用人類(lèi)語(yǔ)言生成原創(chuàng)回答的能力。LLM 內(nèi)部機(jī)制Tokenizer、逐詞元預(yù)測(cè)與溫度參數(shù)下一課我們會(huì)探索不同類(lèi)型的生成式 AI 模型這里先聚焦OpenAI GPTGenerative Pre-trained Transformer系列看 LLM 到底如何運(yùn)轉(zhuǎn)Tokenizer把文本變成數(shù)字LLM 以文本為輸入、以文本為輸出但作為統(tǒng)計(jì)模型它們與數(shù)字的相處遠(yuǎn)好于與文本序列。因此每個(gè)輸入在進(jìn)入核心模型之前都會(huì)先經(jīng)過(guò)tokenizer處理。一個(gè) token詞元是文本的一塊由可變數(shù)量的字符組成tokenizer 的主要任務(wù)就是把輸入切分成 token 數(shù)組再把每個(gè) token 映射為一個(gè)token index原始文本塊對(duì)應(yīng)的整數(shù)編碼。結(jié)合本倉(cāng)庫(kù)的源碼印證倉(cāng)庫(kù)的 requirements.txt 與 pyproject.toml 均把tiktoken列為核心依賴(lài)openai1.0.0、python-dotenv、requests、azure-ai-inference、tiktoken等。從倉(cāng)庫(kù)依賴(lài)結(jié)構(gòu)看課程在后續(xù)分詞器相關(guān)實(shí)驗(yàn)中可以直接調(diào)用tiktoken來(lái)復(fù)現(xiàn)上圖的切詞與整數(shù)編碼過(guò)程這正是本節(jié)原理的可運(yùn)行版本。預(yù)測(cè)輸出 token滑動(dòng)窗口式補(bǔ)全給定 n 個(gè) token 作為輸入每個(gè)模型的最大 n 各不相同模型可以預(yù)測(cè)出一個(gè)token 作為輸出該 token 隨后被并入下一輪迭代的輸入中按擴(kuò)展窗口模式滾動(dòng)推進(jìn)——這就是用戶(hù)能拿到一整句或整段答案的體驗(yàn)來(lái)源。它也能解釋如果你玩過(guò) ChatGPT可能注意到它有時(shí)會(huì)看起來(lái)在句子中間停頓——那正是逐 token 生成過(guò)程中的狀態(tài)。選擇過(guò)程基于概率分布采樣輸出 token 是依據(jù)它出現(xiàn)在當(dāng)前文本序列之后的概率選出的模型會(huì)預(yù)測(cè)所有可能下一個(gè) token上的一個(gè)概率分布基于其訓(xùn)練得出。但并非總是選擇概率最高的那個(gè) token——選擇過(guò)程中加入了一定程度的隨機(jī)性使模型以非確定性方式運(yùn)行同一輸入不會(huì)得到完全相同的輸出。這種隨機(jī)性用于模擬創(chuàng)造性思考的過(guò)程并可以通過(guò)名為temperature溫度的模型參數(shù)進(jìn)行調(diào)節(jié)。我們的創(chuàng)業(yè)公司如何借助 LLMprompt 與 completion 的五大形態(tài)理解了內(nèi)部機(jī)制就可以看 LLM 最擅長(zhǎng)完成哪些常見(jiàn)任務(wù)了。我們說(shuō)過(guò) LLM 的核心能力是從自然語(yǔ)言書(shū)寫(xiě)的文本輸入出發(fā)從零生成文本。那么什么樣的文本輸入與輸出LLM 的輸入稱(chēng)為 prompt提示輸出稱(chēng)為 completion補(bǔ)全——后者指模型生成下一個(gè) token 以補(bǔ)全當(dāng)前輸入的機(jī)制。prompt 中通??梢园韵聨最?lèi)內(nèi)容一條指令instruction指明我們期望模型產(chǎn)生何種輸出有時(shí)內(nèi)嵌示例或額外數(shù)據(jù)。典型子場(chǎng)景包括對(duì)文章、書(shū)籍、商品評(píng)論等的摘要以及從無(wú)結(jié)構(gòu)數(shù)據(jù)中提取洞察對(duì)文章、論文、作業(yè)等的創(chuàng)意構(gòu)思與設(shè)計(jì)。一個(gè)問(wèn)題question以與智能體對(duì)話(huà)的形式提出。一段待補(bǔ)全的文本text to complete隱式地請(qǐng)求寫(xiě)作協(xié)助。一段代碼code附帶上解釋并寫(xiě)文檔的請(qǐng)求或一條要求生成完成特定任務(wù)的代碼的注釋。以上示例都很簡(jiǎn)單并非對(duì) LLM 能力的窮盡展示而是為了說(shuō)明使用生成式 AI 的潛力——在教育語(yǔ)境下但不限于教育。能力邊界生成式 AI 并不完美原文檔特別強(qiáng)調(diào)了必須建立的正確預(yù)期這也是后續(xù)課程反復(fù)出現(xiàn)的主題輸出不完美模型的創(chuàng)造力有時(shí)會(huì)反噬產(chǎn)出人類(lèi)會(huì)視為對(duì)現(xiàn)實(shí)的歪曲的詞組拼貼甚至冒犯性?xún)?nèi)容它不智能至少按更全面的智能定義包含批判性/創(chuàng)造性推理與情商來(lái)說(shuō)生成式 AI 不算智能它不是確定性的同樣的輸入響應(yīng)可能變化它不可盲信編造fabrication——錯(cuò)誤的引用、內(nèi)容與論斷——可能與正確信息混合在一起并以自信且有說(shuō)服力的口吻呈現(xiàn)。后續(xù)課程將逐一處理這些局限并給出緩解手段如 第 03 課負(fù)責(zé)任地使用生成式 AI、第 04 課提示工程基礎(chǔ)。實(shí)戰(zhàn)準(zhǔn)備在本倉(cāng)庫(kù)中把 LLM 調(diào)用跑起來(lái)本課件是純概念課但倉(cāng)庫(kù)已經(jīng)為第 06 課之后的代碼課準(zhǔn)備好了完整工程底座現(xiàn)在就可以驗(yàn)證逐 token 補(bǔ)全這套機(jī)制。環(huán)境與依賴(lài)倉(cāng)庫(kù)要求 Python ≥ 3.10見(jiàn) pyproject.toml核心依賴(lài)在 requirements.txtipywidgets8.1.8 numpy2.4.2 matplotlib3.10.8 pandas3.0.0 tqdm4.68.4 python-dotenv1.2.2 openai1.12.0 tiktoken azure-ai-inference scikit-learn其中python-dotenv負(fù)責(zé)加載.envopenai是調(diào)用各家 API 的 SDKtiktoken就是本節(jié)文本 → token → 整數(shù)索引原理的直接實(shí)現(xiàn)。用倉(cāng)庫(kù)自帶的 shared 工具發(fā)起一次 completion倉(cāng)庫(kù)的 shared/python 模塊封裝了 API 客戶(hù)端創(chuàng)建與環(huán)境變量校驗(yàn)。以下腳本演示了課件prompt 進(jìn)、completion 出的最小閉環(huán)# 1) 加載 .env 中的密鑰對(duì)應(yīng)課程 setup 文檔的 .env 約定 import os from dotenv import load_dotenv load_dotenv() # 2) 校驗(yàn)必填環(huán)境變量缺失時(shí)拋出帶指引的 ValueError # 實(shí)現(xiàn)見(jiàn) shared/python/env_utils.py 的 get_required_env / validate_env_vars from shared.env_utils import get_required_env api_key get_required_env(OPENAI_API_KEY, OpenAI API 鑒權(quán)) # 3) 創(chuàng)建客戶(hù)端實(shí)現(xiàn)見(jiàn) shared/python/api_utils.py 的 create_openai_client from shared.api_utils import create_openai_client client create_openai_client(api_keyapi_key) # 4) 一次最小的 completionprompt 進(jìn)文本出 prompt 用一句話(huà)解釋什么是 Transformer 注意力機(jī)制 response client.responses.create(modelgpt-4o-mini, inputprompt) print(response.output_text)源碼層面可以看到幾處與課程理念呼應(yīng)的工程設(shè)計(jì)對(duì)應(yīng) tests/test_env_utils.py、tests/test_api_utils.py 的測(cè)試覆蓋create_openai_clientAPI key 優(yōu)先取參數(shù)否則回落到OPENAI_API_KEY環(huán)境變量?jī)烧叨既笔r(shí)拋出帶說(shuō)明的ValueError而不是讓 SDK 在運(yùn)行時(shí)報(bào)晦澀錯(cuò)誤get_required_env / validate_env_vars把密鑰是否配置做成顯式、可測(cè)試的前置檢查make_safe_request帶 30 秒超時(shí)與 3 次重試的 HTTP 封裝體現(xiàn)模型 API 調(diào)用需要容錯(cuò)的工程常識(shí)。安全補(bǔ)充shared/python/input_validation.py 中的sanitize_prompt_input會(huì)剝離空字節(jié)、控制字符以及模板注入{{...}}、${...}、script標(biāo)簽等潛在注入模式——這正是課件不可盲信輸出、也要審慎構(gòu)造輸入理念在代碼中的落地。若你希望驗(yàn)證本機(jī)環(huán)境是否就緒可以直接運(yùn)行pytest測(cè)試路徑由 pyproject.toml 的[tool.pytest.ini_options]指向tests/。完整的賬號(hào)、.env配置與 Codespaces 排障步驟見(jiàn)課程 課程環(huán)境搭建Course Setup 及 本地安裝指南模型提供商的選擇見(jiàn) providers.md。本課作業(yè)你的作業(yè)是進(jìn)一步閱讀生成式 AI 的資料嘗試找到一個(gè)今天還沒(méi)有用上生成式 AI、但你希望加上它的領(lǐng)域。與老辦法相比影響會(huì)有什么不同你能否做成以前做不到的事或者速度更快請(qǐng)為你夢(mèng)想的 AI 創(chuàng)業(yè)公司寫(xiě)一段300 字摘要包含問(wèn)題Problem我將如何使用 AIHow I would use AI影響Impact等小標(biāo)題可選地附一份商業(yè)計(jì)劃。知識(shí)自測(cè)關(guān)于 LLM哪個(gè)說(shuō)法正確每次都會(huì)得到完全相同的響應(yīng)。它做事十全十美加數(shù)、生成可運(yùn)行代碼都樣樣精通。即使使用同一個(gè) prompt響應(yīng)也可能不同它擅長(zhǎng)為某樣?xùn)|西文本或代碼給你一個(gè)好的初稿但你需要在此基礎(chǔ)上繼續(xù)改進(jìn)。答案3。LLM 是非確定性的響應(yīng)會(huì)有變化不過(guò)你可以通過(guò) temperature 設(shè)置控制其變化幅度。也不應(yīng)指望它一次做對(duì)——它的價(jià)值在于替你完成重活通常意味著得到一個(gè)不錯(cuò)的初稿而你要做的是逐步改進(jìn)它。小結(jié)與下一步生成式 AI 經(jīng)歷了關(guān)鍵詞機(jī)器人 → 機(jī)器學(xué)習(xí) → 神經(jīng)網(wǎng)絡(luò)/RNN → Transformer四個(gè)階段的演進(jìn)LLM 正是 Transformer 架構(gòu)的產(chǎn)物L(fēng)LM 的核心回路是Tokenizer 把文本切為 token 并映射為整數(shù)索引 → 模型基于概率分布預(yù)測(cè)下一個(gè) token → 以擴(kuò)展窗口方式滾動(dòng)生成 completiontemperature 是調(diào)節(jié)創(chuàng)造性隨機(jī)度的旋鈕同一輸入不會(huì)總得到同一輸出輸出要謹(jǐn)慎對(duì)待不可盲信、不可全信需持續(xù)迭代改進(jìn)。學(xué)完本課后繼續(xù)前往 第 02 課探索與比較不同類(lèi)型的 LLM了解如何為你的用例挑選模型。翻譯說(shuō)明繼承自原文檔本課程的孟加拉語(yǔ)文本由 AI 翻譯服務(wù)生成英文原文01-introduction-to-genai/README.md應(yīng)視為權(quán)威來(lái)源自動(dòng)翻譯可能存在誤差重要信息建議參考英文原文或人工翻譯?!久赓M(fèi)下載鏈接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考