跳到主要內容

淺談 AI 落地到底有多難 - 以 OpenAI ChatGPT 為例

目前待領的團隊,小弟有幸參與到 AI 落地的過程,之前也參與過幾次 AI 服務導入的和製作出 AI 產品應用的經驗,這邊就提出些簡單分享,跟大家說說,為何 AI 落地有這麼難

ChatGPT 幾乎成為這幾天大家刷版面的資訊,官方網站其實有提到 Chat-GPT 的參考模式是怎麼進行的,也有提供相關的論文參考,

https://openai.com/blog/chatgpt/

ChatGPT 幾乎成為現象級的影響

如果你還沒試用過,我建議你真的玩玩看,

https://chat.openai.com/chat

在 AI 落地的階段,有許多工程的過程,還有許多現實需要面對,而這煉成的過程都很容易導致 AI 落地失敗,

更不用說像是 ChatGPT 這種十年磨一劍的應用服務,為什麼驚艷,

  1. 中英文,簡中繁中等均能 80% 的機率識別問題及主題對話
  2. 回應內容,英文的部分不意外的通順,簡中繁中的部分有些詞語是有做過調整的,這實屬難得。
  3. 對於資料上下文關聯度,以及變化形式在主題式的發展下均能有效地回應且呈現。
  4. 呈現格式可以以『摘要、表格、條列』等方式進行規劃,同時也可以對文字內容進行一定程度的擴張和收斂。

而要做到這些事情,除了大家所熟知的需要不斷的生成模型,訓練模型,不同的模型疊加上去之外。

同時最難也是最複雜的部分,『資料工程的處理』

AI 工程的開始

在我們使用任何一套 AI 框架 Tensorflow / pytorch 之後,無一例外地就會以特定問題解決方案,開始採用不同的現成 Model 進行驗證,在一開始對於初始的 example data / init data 都會有不錯的反應。

接下來問題開始...

當我們天馬行空的,不斷將例外,將特定領域情境涵蓋進去的時候,你就會發現這 model 的準確率下降,接下來就是一連串調整參數的開始,

或者是開始進行特例發想的部分,哪些資料是需要踢除的,哪些項目是需要先排開的,哪些資料是對於訓練本身是有影響的,在這個過程中就已經進入 data engineering 的環節中。

source from 資料科學家的工作日常

資料工程的處理

大家所想像的,在建立模型的時候似乎就是不斷地調參數,不斷的運作程式,但在這之前,有『好多好多好多好多』資料前處理,資料搜集,資料配對的過程要先進行,這些都是屬於 ETL (抽取、轉換、載入)的過程。

而通常這些資料轉換的過程,也不會是那種數千筆數萬筆的資而已,而是可能一大包資料,不斷的都需要被清理,或者資料是透過不斷的一直運送進來,要透過 streaming 的方式進行資料的清洗。

當然 AWS / GCP / Azure 都有提供些雲端工具可以進行這類問題的處理,但工具就僅止於工具,重點還是要靠工程師進行邏輯編排,而過程中要如何調整和 debug,和發現 error exception 就是一段艱辛的過程。

而這段工作的範圍,通常都是交由一定開發經驗的資深工程師 / 架構師進行處理。

這些人本身就是一種稀缺,不論在全世界都是。

持續地燒錢和無法預估進度

在做 AI 的過程中,在短時間內很難有直接的收益,也比較難在 2-3 個月中就有一個飛奔式的突破。

從應用,工程,數據, AI 這些人都是成本,且都是不低的成本,而且少了任何一個環節,就無法讓團隊成形。

而在進行資料驗證的過程中,光是儲存本身,資料的維運本身,就已經是一筆不小的開銷,每天都有數 TB 的資料近行 import / export ,同時也有持續不斷的資料傳入,透過 ETL 的方式進行資料清洗,資料儲存,再將特定資料進行快取。

這些都是成本。

最後是 GPU 的選用,自建 GPU 運算,每次運算時總是會需要 GPU 進行運算,而 CPU 和 GPU 運算的效能差異,是 100 倍以上的差距,相信聰明的各位,應該懂要選哪一種。

它的缺點,就是貴!

最後想說的是

這段的過程,也許有人會覺得用現成的服務就可以兜出一系列的應用服務,從某個角度來說沒錯。

但如果你想要達到的是特定領域,或者需要有類似 ChatGPT 這樣的通用型效果,就肯定要面對自建的過程。

更不用說任何的 AI 服務,最後為了要提升服務準確率,最終還是會走到自身資料匯入的過程,只要牽扯到資料匯入,就會開始需要知道整體是怎麼進行運作的機制,才能如預期的導出結果。

這時候就需要大量的『資料,資料,資料,資料』除了有用的資料,和資料清洗的過程之外,此時資料的標註也成了一大問題,這時要如何透過工程進行大量且快速地標註,就是另外一個課題了(有機會我們再來談)。

這一連串,都需要時間的醞釀,也需要工程的緊密配合, 

  • AI 不跟資料溝通,掛
  • AI 不跟後端溝通,掛
  • 後端不跟資料溝通,掛
  • 前端不跟 AI 了解模式,掛
除了足夠的金援之外,要如何將如此同是技術面向,不同職能的人拉攏於其中,且讓某個部門都可以獨立運作,保持大家同樣的目標和志向,在這一開始都還是茫茫然的狀態下引導清晰可見的未來,成為極度重要的課題。

留言

張貼留言

這個網誌中的熱門文章

RAG 和 Prompt 原理超簡單解說!想知道 AI 怎麼找答案看這篇

這篇文章是給對於你已經開始使用所謂的 ChatGPT / Claude / Gemini 之類的 AI 服務,甚至是 Siri (嘿丟,他也是一種 AI 應用服務喔) 簡單來說是非 技術人員, PM,小白,想要趕快惡補的人 ,直接花十分鐘可以看完的一篇科普業配文章。 或者是概念僅止於,AI 這東西會幻想,會有誤差,會對於生活有些幫助但沒有幫助的人們,做個簡單又不是太簡單的介紹,希望用一個非常入門的方式讓你們有個了解。 當然,這篇文章目的很簡單, 就是引流 ,如果你身邊有已經對於 Web 技術開發的人員,歡迎報名分享給他,年末出國不如學一技在身,參加今年我們舉辦最後一場 RAG 實作工作坊,報名連結 , https://exma.kktix.cc/events/ai-for-dev-course-rag-2 注意: 接下來每個大段落結束都會有一段工商導入,但文章絕對精彩,請注意! 為了讓各位容易想像,我們將整個世界的資訊,先濃縮到這本『西遊記』的世界觀當中,我們整個世界都在這個 『西遊記』 ,而 大型語言模型 我們用 『書精靈』 來描述。 PS. 我們先預設各位,應該都有聽過,西遊記!如果沒有聽過西遊記的,請右轉出去,謝謝! 先來談談向量 在《西遊記》的世界裡,我們可以把 向量想像成一種「內容座標」 ,讓系統知道每個角色、場景、法術等的 「位置」和「距離」 。向量幫助語言模型知道不同內容之間的關聯程度。 向量就像內容的「距離」和「位置」 比方說,唐三藏的 「位置」(向量)會接近「佛經」和「取經」 的概念,因為他一路上都是為了取經而前進。孫悟空的 向量位置則會更靠近「金箍棒」和「七十二變」 這些概念,因為這些是他的特徵。 相似內容靠得更近:像「佛經」和「取經」會靠近唐三藏的向量,因為它們彼此有很強的關聯。 相差較大內容會離得較遠:像「取經」和「妖怪」「妖怪的寶藏」就距離比較遠,因為妖怪的寶藏和取經的目標關聯性不大。 是誰決定的這些位置? 簡單來說,這些位置和關係是模型自己學出來的。語言模型會閱讀大量的資料和這世界觀的資訊,觀察哪些詞語經常一起出現,根據「共同出現的頻率」來決定它們的關係,並且自動生成向量。例如: 如果模型看到 「唐三藏」 總是和 「取經」 一起出現,它就會讓「唐三藏」的向量靠近「取經」。 ...

Vibe Coding:為什麼 Junior 更快上手?Senior 要如何追趕?

現象層面(市場觀察) 最近有篇文章討論 junior & senior 開發者在 AI 時代的角色轉變,非常熱門。 身為 Cympack 產品開發團隊 ,我們也一直關注這個議題,在閱讀這篇文章時觀察到一些有趣的現象,對我們來說,這正好反映出 AI 正在改變開發生態,junior 借力 AI 快速成長、senior 則需要在 「架構思維」 與 「多 agent 協作」 中找到新定位,其中有些啟發(insight) 可以跟大家分享。 為什麼 Junior 更容易上手 vibe coding? 心智負擔低 → Junior 沒有太多傳統 code workflow 的框架包袱 敢於嘗鮮 → Gen Z / 年輕工程師天生習慣用 prompt-based 工具、跟 LLM 互動 少「優雅程式設計」的束縛 → 不太糾結「這樣寫會不會不夠優雅」,反而 embrace 快速迭代、快速出成果 反觀 Senior: 熟悉大型系統設計 有豐富的「工程正統流程」知識(架構設計、測試策略、效能優化、設計模式) 對 AI 生成 code 的品質 / 維護性通常比較保留 部分 10+ 年資深工程師,對 prompt engineering 沒那麼熟練,還在觀望 技能面(未來的關鍵能力) Vibe coding 本質上 = prompt engineering + AI co-pilot 管理能力 能力項目 誰目前比較有優勢? Prompt 撰寫 / AI 互動 Junior 較強(熟悉 chat-based 流程) 系統設計 / 架構把關 Senior 較強 AI 生成 code 驗證 / Bug 察覺能力 Senior 較強(能看出潛在問題) 快速疊代 / Hackathon 式開發 Junior 較強 長期維護性 / 穩定性 Senior 較強 總結 Junior 確實更快適應 vibe coding,並且更習慣以 「chat-based coding」 的工作流開發。 Senior 擁有驗證 AI 產物與系統設計的深度能力,但若不主動練習 vibe coding,長期會逐漸落後於新一波開發潮流。 就如同在 GAI 技術年會分享,希望帶給各位的感受, 『與 AI 協...

v0 API 是什麼?怎麼用?一篇教你搞懂功能、價格,還能搭配 Cursor 玩出 vibe coding!

Vercel 的 v0 是一款 AI 驅動的前端開發工具,能夠將自然語言描述轉換為可部署的 React 元件和 UI 介面,支援 Tailwind CSS,並可直接部署至 Vercel 平台。此外,v0 提供 API 介面,讓開發者能將其整合至其他工具,如 Cursor IDE,進一步提升開發效率。 Vercel v0 API 介紹 v0 API 目前處於 Beta 階段,主要提供 v0-1.0-md 模型,具備以下特點: 多模態支援:接受文字與圖片(base64 編碼)輸入。  快速串流回應:提供低延遲的串流回應。  OpenAI 相容:遵循 OpenAI Chat Completions API 格式,易於整合至現有工具。  前端開發優化:特別針對 Next.js 和 Vercel 等現代前端框架進行優化。 要使用 v0 API,需訂閱 Premium 或 Team 方案 ,並啟用使用量計費。 使用方式 API 端點: POST https://api.v0.dev/v1/chat/completions 請求標頭: Authorization: Bearer YOUR_V0_API_KEY Content-Type: application/json 參數範例: { "model": "v0-1.0-md", "messages": [ { "role": "user", "content": "建立一個具有身份驗證功能的 Next.js AI 聊天機器人" } ], "stream": true } 您也可以使用官方的 AI SDK 進行整合: npm install ai @ai-sdk/vercel 範例程式 javascript import { generateText } from 'ai'; import { vercel } from '@ai-sdk/vercel'; const { text } = await generateText({ model: vercel...