# 給非技術人員的一份 OpenAI 心得 ## 勘誤 在我們進入到正題之前, 我們先勘誤幾個一般人對 ChatGPT 或是 大型語言模型 (LLM) 常見的誤解。 ### 它不是搜尋,沒有連網路,也沒有直接的資料庫 近代語言模型跟傳統的軟體系統有根本性上的差異, 最大的差異是 **它並不是 直接 從 資料庫 搜尋回答**,aka **它不是搜尋**。 讓我們用一般人容易理解的表達方式解釋, 這類系統分為兩個階段: - 訓練階段: 它在模擬人類學習知識的方式, 透過閱讀大量的資訊,建立自己對於知識的理解。 其背後機制跟數學有關,這邊就不深入探討。 相關術語:Model Training, Fine Tuning ... etc - 實際提問階段: 用戶對模型提出一段文字, 模型針對既有的知識嘗試進行補足,也就是 **文字接龍**。 相關術語:completion, prompt ...etc 注意到, 大量數據資料是用於訓練模型的, 模型可以想像它就像是一個剛出生的孩子, 而我們正在用大量的課本(數據跟資訊)去教它,試圖它學會這些知識。 我們教給它什麼樣的知識, 它就很**有可能**會回答出什麼答案, 這邊為什麼強調**有可能**是因為, 它的回答是基於**機率**性的, 它不一定會回答出百分之百跟資料來源處一模一樣的答案。 > 人類自己都沒辦法百分之百回答出跟課本一模一樣的答案, > 人類的講出來的話也是有機率性的。 再來語言模型本身是不會記得知識的來源處在哪的, 學習進來的資訊會成為整個知識的一部份, 所以如果要朔源,就需要其他額外的對策。 > 所以這邊順便談到 Bing 在實作上, > 不僅僅是運用了 LLM 技術而已, > 它同時整合了多項技術,但這邊先暫時略過。 ### 它真正在做的是,是文字接龍 文字接龍是比較淺顯的解釋方式, Text Completion 文字補足是比較正式的詞彙。 在概念上, ChatGPT 實際輸出是一組文字的機率分佈, 它會對產生出來的文字分佈進行取樣, 並試圖補全完整的句子。 ### ChatGPT 不是想做就能做的 所謂的訓練,你可以想像它是在尋找一個數學函式, 這個數學函式會有很多參數, ChatGPT 的參數預估可達 1700 億以上。 何謂參數,例如: ``` f(x) = ax + b ``` 上述函式的參數就是 2 個 `a` 跟 `b`, 所以可以想像一下 1700 億會長什麼樣子。 當然你可以隨便找一個垃圾函式,但隨便找的函式當然是沒法用, 所以我們要找到的是可以進入實際應用的函式, 但光是要找到堪用的函式,微軟 跟 OpenAI 花了幾百個億。 再來要有足夠大的資料量,來訓練模型, 公司本身需要重新思考資料的重要性。 > 任何形式的資料可能都是有價格的, > 盡可能保存更多的資料, > 而非直接對資料進行修改或刪除, > 因為那些歷史資料可能都有用。 能做自己模型的必定是要有很多前提的, 先不討論公司軟實力方面 (太重要但太稀有了), 現實層面你都至少要有: - 足夠用來跑機器的錢 - 足夠大的資料量 所以小公司就沒機會使用到 AI 相關技術了嗎?並非如此。 就是因為成本非常高昂, 有腦子的公司會想辦法分散掉這個壓力, 這就會演變成 AI as a Service, 大公司會提供 AI 相關算力或是介面, 中小型公司直接使用他們的 API 或是 服務 並支付使用金額, 就跟已經成熟的雲端服務一樣, AI 也會逐漸走向這個形式, 會開始走向大廠競爭階段然後趨向成熟。 ## 應用領域 ### 文字領域 ChatGPT 作為 NLP 相關領域 (自然語言處理) 的集大成, 文字處理自然是它擅長領域, #### QnA 回答問題 它可以基於既有知識回答問題, 相較於搜尋,這樣做的好處是它直接告訴你答案, 所以省掉了自己搜尋跟查閱的時間。 它的答案絕對不會是百分之百準確的, 越是專門領域的知識,它的錯誤率也就會越高,甚至會自己腦補。 降低錯誤率的方式,就是要另外教它什麼是正確知識, 也就是要進行 fine tuning 微調。 這類型可以延生的產品,利如: - 知識助理可以回答你的問題,讓你節省自行查閱資料的時間。 #### Summarization 總結 文字總結可以被運用在很多情境, 例如, - 商務人員可以總結商務文件的內容,可以節省大量閱讀時間。 - 自動生成文章摘要可用於網站 SEO。 - 研究員可以整合研究內文方便製作研究報告。 #### Translation 翻譯 它跟以往的翻譯系統最大的優勢是, 它可以根據前後文來產生翻譯, 這樣語境跟語意就會更加接近真實世界的語言使用方式。 使用情境,例如: - 即時對話翻譯 - 文件翻譯 #### Parse unstructured data 解析非結構化資料 尤其是在大數據時代, 將非結構化資料轉換成結構化尤為重要, 它可以讓你圖像化數據讓你可以更清晰的透過數據下判斷, 還可以讓你更加準確地查詢到相關數據。 使用情境,例如: - 商務或是客戶資料搜集,並整合成報表 - 在網路上進行大數據資料搜集 #### 其他 它能做的事情很多所以這裡只提及幾個部分, 以下連結是由 OpenAI 整理的使用範例 https://platform.openai.com/examples。 ### 圖像領域 生成式模型不僅僅是可以處理文字, OpenAI 提供了 CLIP 跟 DALL-E 等模型,來針對於圖像領域。 #### CLIP CLIP(Contrastive Language-Image Pre-Training) 主要為了處理 圖像 跟 文字 的關聯性跟互相操作。 例如,CLIP 可以用於以下方面: - 圖像分類: 根據圖像和語言描述,實現高準確度的圖像分類。 - 文字檢索: 可以實現文字和圖像的檢索, 用戶可以通過輸入關鍵字,搜索相關的圖像和語言描述。 - 電腦視覺: 可以支持多種視覺任務,比如物體檢測、圖像分割、圖像生成等。 目前這個是直接提供開源的程式碼, 但最好是讓有相關背景的工程人員 (資料科學家 Data Science) 來處理。 #### DALL-E DALL-E 是一個基於 GPT 系列模型的圖像生成模型, 可以通過結合文本描述和圖像生成技術生成圖像。 它的訓練過程讓它不僅能夠從頭開始生成圖像, 還可以基於現有圖像的某個部位進行圖像補全。 具體來說,DALL-E 可以做以下幾件事情: - 圖像生成: 可以從文本描述中創建原創的、逼真的圖像和藝術作品。 它可以結合概念、屬性和風格。 - 圖像擴展: 可以擴展圖像,超出原始圖像的範圍,創造出新的圖像。 - 圖像編輯: 可以根據給予的文本對現有圖像進行編輯。 它可以在原圖有陰影、反射和紋理的情況添加和刪除元素。 - 圖像改編: 可以改編一張原圖,並根據原始圖像創建不同的變化。 ### 聲音領域 #### Whisper Whisper 是一個自動語音識別(ASR)系統, 它可以識別語音並將其變成文字, 並可以翻譯成多個語言。 它可以做以下事情: - 對話謄寫: 可以把一段語音裡的對話轉換成文字。 - 翻譯: 可以把任何語言翻譯成英文文字。 #### jukebox jukebox 可以生成各種風格的音樂包含主唱跟歌詞, 它可以做以下事情: - 產生歌詞: 生成各種音樂風格的歌詞。 - 產生樂曲: 當餵給他歌詞時,他可以產生完全不同的音樂。 - 樂曲補全: 提供一個 12 秒的 clip,他會幫你補齊剩下的部分。 ## 一些個人建議 AI 相關技術目前還處於萌芽期, 就像前面提到的,它在越專精的領域錯誤率會越高, 這佐證它不可能**在現階段就取代原有人力配置**, 用戶對它抱持著不切實際的期待, 那絕對不會是它的問題,是用戶沒有建立對產品的正確認知。 十年後會不會被取代,我們沒有人會知道, 我十年前也不知道我會做現在的工作, 我認為現在的一部分網路文章正在販賣恐懼跟非現實, 這是一種他可以直接賺到點擊率手法, 就算日後發生或是沒發生,對作者沒有任何損失。 對我來說,這項科技它可以減少人類全體的時間成本, 這件事本身就是非常大的改變。 那這邊來提出幾個問題,或許可以幫助你找出一些方向: - 如何把 AI 整合進現有產品,來優化客戶體驗 - 如何應用 AI 來解決過往沒有解決,或是解決的很爛的問題 - 如何營造由簡至深的入門曲線,讓普羅大眾慢慢接受這項科技 以上是我個人的淺見。