最近隨著資本做空輝達,巴菲特退休之前押注Google,國內阿里的QWen3-max推出,大模型應用在沉寂大半年之後又開始活躍。畢竟輝達是賣鏟子的,真正拿鏟子去耕種的還得是大模型基座以及基於大模型的應用開發。
💡 本文會帶給你
開始上課!
「AI is bullshit。深藍沒用任何 AI 演算法,就是硬體窮舉棋步。」
思考:「智能冰箱」是 AI 嗎?
一種觀點:基於機器學習、神經網路的是 AI,基於規則、搜尋的不是 AI。
大模型,全稱「大語言模型」,英文「Large Language Model」,縮寫「LLM」。
現在,已經不需要再演示了。每人應該都至少和下面一個基於大模型的對話產品,對話過至少 1000 次。
本課第一個專業要求:分清對話產品和大模型。
但是,千萬別以為大模型只是聊天機器人。它的能量,遠不止於此。
用 AI,要用「用人思維」:
劃重點:
輝達 CEO 黃仁勳 2024 年 6 月 2 日在 Computex 上的演講提到各種模態資料的統一支援:
大模型GPT時代:一切皆為向量
AI驅動干行百業效率升級,大量行業場景應用價值仍待深挖
大模型現階段落地情況綜述
Killer App 沒有影,
AI 原生待證明。
手握場景不著急,
內部提效暗暗行。AI 原生,是指產品的核心功能是 AI,而不是 AI 作為輔助功能。典型特點是,有 AI 後才出現。
大玩家毫不落後,AI 帶來的市場格局變化不大。
很多企業將大模型和業務相結合,取得了或大或小的效果
實際應用案例:業務流程解構與企業大模型應用
客戶通過電話或線上管道聯絡客服,人工客服接聽後處理問題。高峰時段,客服人員處理請求的速度較慢,且重複性問題佔比高。
客戶請求 -> 人工客服接聽 -> 問題解決 -> 客戶反饋
高峰期間等待時間長,人工客服需要處理大量重複問題,缺乏自動化支援。
引入自動化工具(如智能客服)減少人工干預,提升響應速度。
使用大語言模型(如GPT)建構智能客服系統,支援自然語言理解和生成,自動回答常見問題。
企業生產與庫存管理依賴傳統的預測模型,按月或季度調整生產計畫,庫存管理不精確,容易造成庫存積壓或缺貨。
需求預測 -> 生產計畫 -> 原材料採購 -> 產品生產 -> 倉庫管理 -> 客戶交付
傳統需求預測精度低,庫存管理滯後,無法快速響應市場變化。
利用歷史銷售資料、市場趨勢和季節性變化等因素,應用大模型提高需求預測精度。
生產線上的產品質量由人工檢測,人工檢測存在判斷失誤和效率低的問題,特別是在高產量情況下,無法及時發現質量問題。
原材料入庫 -> 生產加工 -> 質量檢查 -> 產品包裝 -> 交付
人工檢查的精準性和效率無法滿足生產需求,生產質量無法穩定控制。
使用視覺大模型進行產品質量檢測,自動識別產品缺陷。
這三個案例展示了如何通過大模型最佳化企業業務流程。智能客服、供應鏈最佳化和生產線質量控制是大模型應用的重要領域,通過自動化、預測和最佳化,企業能夠提高效率、降低成本,並提供更好的客戶體驗。通過結合大模型的強大能力,企業可以快速應對變化,提升競爭力。
成功落地大模型五要素:
找落地場景的思路:
思考:你的業務中,有那些問題可能 AI 能解決?
首先要知道:純大模型崗位幾乎是不存在的。
可選:
大模型是怎樣工作的?
其實,它只是根據上文,猜下一個詞(的機率)……
OpenAI 的介面名就叫「completion」,也證明了其只會「生成」的本質。
下面用程序演示「生成下一個字」。你可以自己修改 prompt 試試。還可以使用相同的 prompt 運行多次。
from openai import OpenAI
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client = OpenAI()
#prompt = "今天我很" # 改我試試
prompt = "下班了,今天我很"
#prompt = "放學了,今天我很"
#prompt = "AGI 實現了,今天我很"
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
stream=True
)
# 處理並列印流式響應內容
for chunk in response:
print(f"\033[34m{chunk.choices[0].delta.content or''}\033[0m", end="")
訓練和推理是大模型工作的兩個核心過程。
用人類比,訓練就是學,推理就是用。學以致用,如是也。
例如,有下面訓練資料:
「AI」之後出現「技」的機率大於其它字。這些字之間的機率關係,就是大模型訓練時學到的。
用不嚴密但通俗的語言描述原理:
訓練:
推理:
Token 是什麼?
1 個英文字元 ≈ 0.3 個 token。 1 個中文字元 ≈ 0.6 個 token。
思考:
函數的參數
找出函數的三步驟
Transformer在做一個什麼事情?
標量、向量、矩陣、張量的關係
Embedding是什麼?
假設我們有一個句子:“The cat sat”
Transformer核心:注意力機制
注意力機制中的Q、K、V
OpenAI 首席科學家 Ilya Sutskever 說過:
數字神經網路和人腦的生物神經網路,在數學原理上是一樣的。
所以,我們要:
把 AI 當人看
把 AI 當人看
把 AI 當人看
凱文·凱利說了類似的觀點:「和人怎麼相處,就和 AI 怎麼相處。」
當什麼人呢?
這是貫徹整門課的心法,乃至我們與 AI 相伴的人生的心法。
使用大模型的好習慣: - 使用大模型,不同的話題要開啟新的會話; - 明確指令和問題:儘量使問題或指令簡潔明確,避免多重含義或複雜結構,幫助模型更好理解和響應。 - 分步進行:如果問題複雜,可以將問題拆解成幾個小問題,逐步處理。這不僅能提高精準度,還能避免模型處理過於龐大的資訊。 - 上下文保留:在多個會話中,如果需要參考之前的對話,可以適當提及或複述關鍵點,避免丟失上下文。 - 分配優先順序:針對多個任務或問題,可以為每個話題分配優先順序,先處理最重要或最緊急的內容。 - 適應模型的限制:瞭解模型的處理能力和上下文長度限制,避免在同一會話中輸入過長的文字,尤其是如果涉及大量資訊時,分割問題會更有效。 - 反饋循環:在與模型互動時,如果模型的回答不完全或不符合預期,可以及時提供反饋和補充說明,讓模型逐步最佳化回答。 - 使用特定的格式或範本:如果是處理特定類型的任務或問題(如程式碼、數學問題、寫作任務),可以為輸入提供特定的格式或範本,以幫助模型更準確地理解任務需求。
課堂實驗:你提個 AI 相關問題,我來用人類比
由於大型模型通常在某個時間點之前的資料上訓練,它們可能無法處理最新的事件或資訊。例如,對於最近發生的新聞事件或新興的流行文化現象,模型可能缺乏理解,GPT4最近最新2023年4月。
大型模型可能產生“幻覺”,即提供錯誤但看似合理的文字。這可能導致誤資訊的傳播,甚至被用於非法或不道德目的。例如,惡意使用者可能利用模型生成看似來自可信出版物的文章,作為假新聞傳播。
泛化能力指的是一個模型在處理新的、未見過的資料時的表現能力雖然大型模型在多個任務上表現出色,但在處理特定、罕見或新穎的情況時可能表現不佳
大型模型通常是“黑箱”,即使是模型的開發者也無法完全理解模型是如何配置自身以產生文字的。這導致瞭解釋或解釋AI/ML演算法的新框架的發展,但由於模型規模的增大,解釋性AI/ML方法變得日益複雜。
Agent 模式還太超前,Copilot 是當前主流。
實現 Copilot 的主流架構是多 Agent 工作流
模仿人做事,將業務拆成工作流(workflow、SOP、pipeline)
大模型應用技術特點:門檻低,天花板高。
Agent + Function Calling
RAG(Retrieval-Augmented Generation)
Fine-tuning(精調/微調)
當人看:努力學習考試內容,長期記住,活學活用。
如何選擇技術路線
面對一個需求,如何開始,如何選擇技術方案?下面是個不嚴謹但常用思路。
其中最容易被忽略的,是準備測試資料
值得嘗試 Fine-tuning 的情況:
凡是問「那個大模型最好?」的,都是不懂的。
不妨反問:「有無論做什麼,都表現最好的員工嗎?」
劃重點:沒有最好的大模型,只有最適合的大模型
基礎模型選型,合規和安全是首要考量因素。
然後用測試資料,在可以選擇的模型裡,做測試,找出最合適的。
為什麼不要依賴榜單?
本課程主打語言是 Python,因為:
在命令列執行:
pip install --upgrade openai
體驗給大模型注入新知識的程式碼竟如此簡單。
from openai import OpenAI# 載入 .env 檔案到環境變數from dotenv import load_dotenv, find_dotenv_ = load_dotenv(find_dotenv())# 初始化 OpenAI 服務。會自動從環境變數載入 OPENAI_API_KEY 和 OPENAI_BASE_URLclient = OpenAI()# 消息messages = [ {"role": "system","content": "你是AI助手小瓜,是 AGIClass.ai 的助教。這門課每周二、四上課。"# 注入新知識 }, {"role": "user","content": "周末上課嗎?"# 問問題。可以改改試試 },]# 呼叫 GPT-4o-mini 模型chat_completion = client.chat.completions.create( model="gpt-4o-mini", messages=messages)# 輸出回覆print(chat_completion.choices[0].message.content)大模型競爭的過程繼續白熱化,第一將會不斷輪流切換
發掘自己身邊的大模型落地場景, 撰寫自己的大模型應用構想,要求給出需求說明和期望的效果。 (金信融息)