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