蒼時弦也
蒼時弦也
資深軟體工程師
發表於

也許生成式 AI 是新一次工業革命

之前寫過# 從 ChatGPT 看學習與對工程師的影響, 這篇文章原本想試著讓 ChatGPT 幫忙,給了兩篇自己的文章作為範例,再給出我規劃的文章架構,得到了一篇看起來有內容實際上什麼都沒說的文章,於是這篇文章還是得自己處理,這大概就是目前 ChatGPT 的極限吧!

運作原理

我花了一週左右的時間把 Stable Diffusion 和 ChatGPT 這兩個我比較有興趣的 Generative AI(生成式 AI)玩過,並且讀了幾篇文章,簡單來說 Generative AI 是一種「腦補」的軟體。

背後有許多論文跟技術原理我都沒有深入了解,可能會有點偏差。然而從多年開發應用程式(Application)的經驗來反推能做的應用,很高的機率會是用在解決「人工」的問題上。

為什麼這麼說呢?你可以想像有很多知識、資料,在過去我們需要透過學習吸收然後用某個神秘的方式統整到腦中,現在你要把這些東西以繪畫、寫作的形式輸出,我們就需要花費時間動手去做出來。

然而有了 Generative AI 之後,我們只需要「思考」就可以取用一個(可能是)全人類共享的資料庫,然後讓 AI 幫我們「補全(Completion)」這些已經知道的資訊。

已知與未知

我想這段時間大家都已經體驗過 ChatGPT 的厲害之處,然而要讓 ChatGPT 正確的運作,會需要滿足兩個條件:模型中存在、適當的提示。

首先,模型(Model)是這類 AI 處理的基礎,ChatGPT 這類屬於 LLM(Large Language Model,大型語言模型)也就是使用非常大量資料去訓練出來的語言模型,目的就是要可以使用「語言」

他表現出來的形式是以補全的方式進行,像是以「天空是」開頭,那麼很高的機率會得到「藍色的」回答,因為在 AI 的經驗中(模型)有很多「天空是藍色的」這樣的句子,因此在選擇的時候偏向以這種方式完成句子,再經過調整 ChatGPT 就能做出類似「對話」的效果。

那麼,當遇到模型中不存在的情況時,就只能根據已知的事物來進行補完。因此當我在寫針對 Generative AI 相關主題的文章需要補完時,就只會出現訓練模型當下的「介紹」而近期大量的討論就很可能不會被提取出來。

然而我們不能小看 AI 技術的發展,很快地就會有能夠連上網路使用工具輔助的模式出現,那麼獲取新資訊「總結」這件事情很快的就會出現。

創意為主

從 ChatGPT 或者 Stable Diffusion 的特性來看,他們都受到「已知」的限制,訓練都是仰賴人類過往的創作所構成的,因此無法突破創意的限制,即使隨機能讓這件事情有一點希望,但機率實在太低,人類本身的創造力可能還是更有效率的方式。

在 ChatGPT 所屬的 OpenAI 公司提供給開發者的模型介紹中,大致上給出這些模型具備這些能力:

  • Davinci - Complex intent, cause and effect, summarization for audience
  • Curie - Language translation, complex classification, text sentiment, summarization
  • Babbage - Moderate classification, semantic search classification
  • Ada - Parsing text, simple classification, address correction, keywords

基本上都是分析跟統整的能力為主,實際上要做到「創意」這件事情,至少在近期可能都是一件有挑戰的事情,甚至對人類來說創意也需要所謂的「機緣巧合」可能也跟隨機沒有太大差異。

然而,AI 提供的「生成」能力卻讓創作這件事情帶來一個很巨大的改變,也就是過去我們需要依賴「職人」去實現的一些事情,我們可以交給 AI 來實現,這就有點類似在工業革命之前想要製作一個家具需要去找工匠製作,有了機械之後就能夠快速量產標準規格的傢俱,在 Generative AI 的情況下可能也是這樣的。

像是我想寫一篇關於 Domain-Driven Design 的文章,因為過去數十年來有無數人討論過,那麼我使用 AI 輔助就可以輕鬆地把那些「大家都講過」的事情產生出來。但是,我是無法用 AI 去產生我自己獨特的觀點、突破性的想法,因為 AI 的模型中不存在。

我對未來的想像,專業的作家可能還是繼續寫作,因為 AI 只能模仿跟重組,那麼畫家會變成 AI 訓練的資料,這些畫家會創造獨特的風格去訓練 AI,然後再根據需求生成圖像,電腦繪圖中「畫技」可能就不是那麼重要的關鍵。

最後,工程師,就需要面對理解需求跟設計架構的問題,因為那些常見的「應用」都有人分享過對應的程式碼,也能夠被 AI 識別出來,想要做一個 Google 倒是不會發生,因為 AI 沒有那個機會看到 Google 的原始碼,也許開源軟體世界也會受到一個新的挑戰也說不定?