小戴沒得覺睡
JJ NEVER SLEEPS

現在大概已經沒有人覺得人工智慧只是一股風了,AI 相關應用已逐漸滲透到各行各業。之前寫一篇文章聊《只有三種AI創業公司可以活下去》,有很多同學留言想要了解怎麼入行 AI 領域。今天就給大家講一講 AI 應用的一些常見的技術手段,包括 Prompt Engineering、RAG(Retrieval-Augmented Generation)、Fine-Tuning(微調) 以及 Pre-Training(預訓練) 等。這些手段從前到後,成本越來越高,技術難度也越來越高,對於產品或創業公司而言,技術壁壘也就越來越高。如果你正在思考入行 AI,或者就想簡單做個 agent 幫助自己的生活提升效率,希望讀過這篇文章之後,你就知道該如何下手了。

文末也給大家推薦一些學習資料,方便有同學想要深鑽。
Prompt Engineering(提示工程)可以看作是一門與大語言模型對話的藝術。它指的是透過設計合適的提示(Prompt)來獲取我們想要的輸出。這種方法在大語言模型(如 ChatGPT、GPT-4 等)中應用廣泛,能極大提高模型回答的準確度和可控性。寫好 prompt 是一門學問,但是 prompt 本身就是一個降低入行門檻的事情。你想要做一個簡單的 agent,

比如像小戴一樣弄個幫大家改簡歷、寫年終績效考核和同事評價的 agent,prompt engineering 可以實現 0 程式碼,還可以保證產品效果。

優劣勢
優勢:節省時間成本,無需對模型進行訓練,0 程式碼,上手快,可以實現簡單的應用。
劣勢:沒有競爭優勢,你能寫別人也能寫。讀到這裡的你,如果轉頭就自己寫了個幫產品經理改簡歷的 GPT 和我競爭,小戴送你一句話“圖啥呢”。😂 上一期講到,我這個改簡歷的使用場景就是一個低頻率還沒利潤的市場,爭啥呢。小戴做 5 年博主都沒盈利,說得好像你們這群產品經理的錢好賺一樣。。
應用場景
GPTs:我個人認為,prompt engineering 是大語言模型最普世大眾,也是最偉大的產物。讓所有的平民百姓,只要你有一項專長,你有別人沒有的知識,可以解決一個 niche market 的問題,就可以透過 prompt engineering 寫一個 agent 來增大自己使用專長解決別人難題的效率。

小戴也是實在是來找我看簡歷的同學太多我忙不過來了,才會用 gpt 來給自己自動化這個流程。後來又因為每到績效考核就需要給自己寫評價給同事們寫評價,尤其我跨職能合作的同學們加在一起能有將近 50 個人,又想做一個職場的好人,又沒有那麼多時間,我就把我寫績效考核的重點加在了自己的 gpt 裡,從而自動化這個流程,讓我 2 小時寫了 20 個人的評價。
其實你所能看到的所有 AI 應用或多或少都用到了 prompt engineering,在此就不一一舉例了。prompt engineering 是各大 AI 應用裡最常見的技術手段。

RAG(Retrieval-Augmented Generation) 是一種將資訊檢索(Retrieval)和文字生成(Generation)結合起來的新興技術思路。RAG 會先到外部資料來源或知識庫中檢索到與使用者需求最匹配的資訊,然後再以此為依據生成更準確、更有依據的回答。RAG 目前基本上是各大公司對付大語言模型“幻覺”的首選策略。你可以把這個過程理解成:我告訴 AI 別從全網的文字中瞎猜答案了,

我給你一個知識庫你從裡面找答案就行,然後再透過你的語言模型,寫出一個帶著答案的完整的話。
優劣勢
優勢:更有可信度,可以更準確地回答使用者的問題;如有資訊變化,也可以更新知識庫來達到及時更新答案的目的。也非常節省儲存,只需要在知識庫裡儲存最重要的知識。
劣勢:競爭優勢非常看知識庫的獨特性。這也是為什麼我在之前的文章寫道,c 端用網際網路上公開的資料做 rag 的初創公司都是白扯。

你能用 wikipedia 做知識庫,別人也行。。
應用場景
-
客服問答系統:如 Decagon, Sierra 這一類的公司都是和自己的 b 端客戶一起生成一個知識庫,這個知識庫主要是由客戶的幫助中心的文章和產品介紹構成的,用來解答使用者關於產品的問題。
-
文件閱讀與摘要:如 Glean 做公司內部文件的檢索和摘要。
-
推薦系統:如 Amazon Rufus 結合平臺上的商品和使用者的需求,為使用者生成個性化的推薦內容。

Fine-Tuning(微調)是指在已經訓練好的大模型之上,使用較小規模的任務相關資料對模型引數進行二次訓練,使其在特定應用場景中表現更好。與 Prompt Engineering 不同,Fine-Tuning 涉及對模型內部引數的再訓練,能夠獲得更深層次的模型定製化。
在這個過程中,會有很多資料偏見的問題。比如小戴當年做的影片非法內容識別,全網的影片裡合法的比非法的要多很多。如果非法影片佔訓練集的非常小的一部分,那麼模型可以把這些影片找出來的能力就不夠強。

遇到這種情況,解決方法之一,也是目前業界最有效的解決方法就是,用 AI 去模擬資料,生成一群非法影片,再餵給模型進行訓練。
優劣勢
優勢:把模型針對細分領域資料進行微調,可以讓模型在特定領域展現出更優秀的表現;相比於從零開始訓練一個大模型,微調只需少量資料即可快速適應新任務;如果業務需求發生變化,可以根據新需求再次進行微調,快速響應市場變化。
劣勢:開發成本較前兩種方法比起來較高,也無法杜絕“幻覺”現象;非常依賴訓練資料,訓練資料的清理和除偏見是非常重要的過程。(這點如果大家細挖,就能發現很多處理資料發家的公司

,比如資料的清理,資料的除偏見,資料的人工標註等都是常見的需求。)
應用場景
-
醫學領域診斷支援:將醫學領域的標註資料進行微調,幫助模型更準確地進行疾病診斷、用藥建議等。
-
語音識別/機器翻譯:在基礎模型上進行特定語言或口音的微調,提升對應場景的準確度。
-
預測演算法:feed 的推薦,使用者多大機率會互動;LinkedIn profile 的推薦,使用者多大機率會點進去;廣告位 pCTR 使用者多大機率點選廣告;LinkedIn premium pchurn 使用者多大機率會取消會員等都是利用 fine-tuning 最佳化模型。

Pre-Training(預訓練)是大型語言模型成功的關鍵技術之一。它是指在海量無監督或半監督資料上進行大規模訓練,讓模型學習語言的基礎表徵。由於在預訓練階段模型接觸了海量文字,它便擁有了語法、常識、語義理解等多方面的基礎能力。也因為在預訓練的過程中,需要海量資料,所以這個階段中對資料量和質量的要求、算力的要求都是巨大的。這也是你為什麼會聽到 OpenAI 說,全網的資料已經都餵給模型了,現在在用 AI 生成餵給模型的資料;

全世界都在搶 Nvidia 的晶片;中美的晶片戰爭;以及能源會是更強大模型的發展瓶頸 —— 這些都是預訓練的難點。
優劣勢
優勢:預訓練結束後,模型對自然語言已經具備強大的表達和理解能力,為後續下游任務打下了堅實基礎。在 AI 盛行的年代,有強大的底層模型是非常有競爭力的,也會在這個行業佔下絕對的市場。而且有了預訓練的基礎,後續在小資料量場景下也能夠收斂得更快,更好適配多種下游任務。這也是為什麼上面說的幾種技術手段可以這麼有效且快地將大語言模型應用到不同的領域。
劣勢:要求海量資料,算力,儲存和能源。非常吃資源和資本。
應用場景
-
ChatGPT,Claude,Gemini:生成文字的大語言模型。
-
Sora,Gemini Veo,Luma,Pika:生成影片的模型。
-
跨語言學習:多語言模型可以在大量的平行語料上預訓練,讓模型具備多語言表達能力。
如何選擇合適的技術手段
-
快速驗證:如果你只需要快速實現一個可用的 AI 功能,且對準確度要求相對有限,或者只是想測試某個創意場景,那麼 Prompt Engineering 是首選,幾乎不需要其他額外工作即可使用。
-
需高可信度與最新資料:如果專案中需要引用最新資訊或保證回答的準確性,可以採用 RAG,因為它能在外部知識庫裡進行檢索併產出“可溯源”的內容。
-
專業場景/精準需求:當模型需要在某個細分領域表現出更加精準的能力時,就適合透過 Fine-Tuning 來微調模型,以適應該場景的特殊需求。
-
構建通用基礎能力:在最初訓練一個大模型,或者需要處理多種下游任務時,通常要先進行 Pre-Training,這是後續其他微調或即時應用的基石。
更多資料
小戴最近對人工智慧的系統設計非常感興趣,有一些自己學習的資料分享給大家:
-
https://www.educative.io/courses/machine-learning-system-design
-
https://github.com/chiphuyen/machine-learning-systems-design
-
https://github.com/checkcheckzz/system-design-interview
-
https://n00tc0d3r.blogspot.com/
-
https://www.quora.com/What-are-the-best-practices-for-building-something-like-a-news-feed
-
https://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed
-
https://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture