0

0
1

文字

分享

0
0
1

人工智慧的「黑箱作業」,類神經網路如何將生物分類的?

MiTalk
・2019/06/08 ・4467字 ・閱讀時間約 9 分鐘 ・SR值 543 ・八年級

  • 作者/吳育瑋 臺北醫學大學醫學資訊研究所助理教授

這篇文章是我在讀到 Nature Methods 在 2018 年 3 月 5 日刊登的文章「Using deep learning to model the hierarchicalstructure and function of a cell」1後,在臉書 MiTalk 社團寫下的三篇短文的整理集結。在這三篇短文中,我簡要地介紹了目前人工智慧的技術基礎「類神經網路」的概念,再將其延伸到這篇文章提及的系統生物學研究,並解釋目前類神經網路之所以被稱為「黑盒子」的原因,以及這項系統生物學研究處理黑盒子的手法。

資訊輸入和輸出,如何用「類神經網路」做出無人車?

我們先來聊聊目前機器學習中最火紅的演算法「類神經網路」究竟是什麼東西?

動物的神經元大致上都有著可以接受來自其他神經元的訊號的樹突 (dendrite),以及可以傳送訊號給其他神經元的軸突 (axon)。類神經網路的單位神經元架構與生物的神經元類似:都有著數個可以接受其他神經元的「輸入 (Input)」,以及數個傳送訊號給其他神經元的 「輸出 (Output)」。將一大堆這樣子的神經元連結起來,就是類神經網路了。

當然,這種連結也不是亂連的。類神經網路通常會分成好幾「層」,而每一層與每一層之間的神經元都會緊密連結著 (fullyconnected),以下我用個實際的例子來說明這所謂的「層」是怎麼回事。

在 1989 年的時候,卡內基美隆大學發明了第一台透過類神經網路控制的無人車 ALVINN 2。這台無人車的主要架構有三個:一台在車子前面隨時拍照的照相機或攝影機,一台執行類神經網路運算的電腦,以及由電腦控制的方向盤,請參考下圖:

-----廣告,請繼續往下閱讀-----
  • 第一層(最底層):照相機照出來的 30 x 32 個 pixel 的影像,以及8 x 32 個雷射距離測定器像。總共輸入單位是 30 x 32 + 8 x 32 = 1216 個。
  • 第二層(中層):由 29 個類神經網路神經元構成的隱藏層(最初期的設計只有4 個)。
  • 第三層(最上層):45 個輸出神經元,代表著方向盤要打那個角度;每個神經元代表一個角度,例如第一個神經元代表方向盤往右打 30 度,第二個代表方向盤往右打 28 度,依此類推。
卡內基美隆大學發明了第一台透過類神經網路控制的無人車 ALVINN。圖片取自:LVINN 論文2

這麼簡單的類神經網路,就已經可以讓這台車在路上以 60 英哩的速度行駛了。可見得類神經網路機器學習的威力。

那麼類神經網路是怎麼訓練的呢?簡單地說,我們在訓練類神經網路時,必須要給它一組(通常是數量很多的一大組)已經知道正確答案的訓練樣本,讓類神經網路之間的神經元連結可以自動透過輸入訊號與正確答案的比對調整自身的參數。這樣的訓練會持續上數千或甚至數百萬次,直到正確率無法再提昇為止。比如說 ALVINN 無人車的訓練就是在真人開車時,將每張相機照出來的圖片與人類開車者的方向盤角度(也就是正確答案)進行連結,並持續調整參數直到答案錯誤率很低為止。

換句話說,ALVINN 這台無人車所做的事,就是模仿人類的開車行為。

除了無人車,「類神經網路」也能區分生物種類?

在上一段我們解釋了何謂類神經網路。一句話總結的話就是類神經網路就是連結在一起的人工神經元,而且可以透過無數次訓練盡量提高執行任務(比如說下棋或預測天氣)的準確率。在這一段中我將提到類神經網路與生物網路之間的關係

-----廣告,請繼續往下閱讀-----

類神經網路通常是由許多的「層」數以及每一層內的「神經元」數量所構成的;然而究竟需要多少層網路,或是每一層網路需要多少神經元,則沒有一定的準則。

我認為這是類神經網路最關鍵,卻也最難以決定的參數。舉例來說,先前提到過的自駕車 ALVINN 總共只有一層網路(不考慮輸入與輸出層的話),且這一層只包含 29 個神經元節點。但是現在如 Tesla 或其他品牌自駕車的類神經網路絕對比這個架構複雜許多。我們在設計類神經網路的時候,甚至需要不停地 trial-and-error 後才能決定「最佳」的網路架構,而這裡的「最佳」理所當然是由預測準確率來決定的。

那麼這和微生物或生命科學有什麼關係呢?這要先從一篇Nucleic Acids Research 論文3 講起。在這篇論文中,卡內基美隆的研究人員試圖透過類神經網路試圖研究不同的細胞(比如說胚胎分化時期的 early-2-cell、late-2-cell、8-cell、16-cell,或不同種類的細胞如 fibroblast、BMDC、以及上皮細胞等),並查看這些細胞的基因表現是否有著明顯的差異。他們的研究標的是不同研究團隊定序出來的 single-cell RNASeq 資料。

簡單來說,他們希望將許多人體內不同種類細胞的 RNASeq 資料透過類神經網路處理後,能夠過濾雜訊,留下最清楚的基因表現訊號。其最終目的當然是透過分群演算法視覺化看出每種細胞的區別

舉例來說,在論文的圖中,我們可以看到不同的人類細胞在經過類神經網路處理後,能夠有著最大化的分群效果;而且群與群之間大致上距離都相當遠,顯示出基因的表現量的確會隨著細胞的不同而不同。

-----廣告,請繼續往下閱讀-----
不同細胞的基因表現差異視覺化。圖片取自:Nucleic Acids Research 論文3

在同一項研究中,研究人員也發現如果小心地設計類神經網路架構,並將其與生物意義結合的話,將能達到最好的效果。這裡說的與生物意義結合的意思,指的是在設計的類神經網路層級中考慮到生物網路的數量以及結構。

他們首先算出這些基因表現量資料,並將資料建成 protein-protein interaction (PPI) 與 protein-DNA interaction (PDI) 的網路系統,並找出裡面總共有 348 個彼此之間有關聯的子網路;而就在找出「348」這個神奇數字後,研究人員就將類神經網路的隱藏層設計成兩層,且各有著 348 個神經元節點,分別代表這 348 組 PPI 與PDI 子網路。他們發現這樣子的類神經網路設計將能達到最理想的分群效果。

好的。到底我之所以鋪了類神經網路和生物意義這些梗要幹嘛呢?當然最主要的目的就是要說明 2018 年 Nature Methods的論文1 到底在講什麼。這篇論文雖然也是走類神經網路路線,但是他們網路的設計相當極端:完全按照生物的代謝途徑 (metabolic pathway) 來設計神經元的分佈(作者群在另一篇論文中提到他們就是受到這一篇 Nucleic AcidsResearch 的論文啟發而設計出這種奇妙的架構的)。

換句話說,這篇系統生物學的論文設計的類神經網路事實上已經不太有傳統的「隱藏層」的概念,而是完全按照代謝途徑連結人工神經元。透過這個方法,他們的類神經網路中總共包含了酵母菌的 2526 個子網路系統,分別代表不同的細胞代謝途徑。在經過訓練與比較後,這個經過特殊設計的網路結構可以準確地透過不同的基因表現預測酵母菌的細胞生長,並且預測的準確率比傳統數層緊密連結的類神經網路還要好上許多。

-----廣告,請繼續往下閱讀-----

神秘的黑盒子,「類神經網路」是怎麼運作的?

在類神經網路的世界中,常常會聽到一個說法:以類神經網路為基礎架構的人工智慧預測模型是「黑盒子  (black box)」。這裡的黑盒子當然不是飛機出事後可以撿回來分析的那個,而是無法打開無法分析而且完全不曉得裡面到底在幹嘛的系統。為什麼會有這種說法呢?一切都要從類神經網路模型是如何訓練的開始講起。

黑盒子系統就像骰骰子一樣,即使知道力學原理,我們還是無法得知骰盅內部到底發生了什麼?圖/pixabay

在類神經網路的世界中,每一個神經元可以接收來自數十甚至數百個神經元的訊號,並且可以傳送訊號給數十到數百個其他神經元。這種連接方式讓類神經網路的參數異常地多,且輕易就可以上到百萬千萬甚至億這種等級。我再次拿 ALVINN,那台 1989 年的無人車來當例子好了。

ALVINN 的輸入層有 1216 個神經元節點,中間的隱藏層有 29 個神經元,而輸出層有 45個神經元。這個相對來說架構非常簡單的類神經網路的參數就有 1216 X 29 X 45 = 1586880 個參數要考慮了,更別提其他
更複雜的深度學習類神經網路模型了。

事實上,參數數量多還在其次,真正的關鍵在於類神經網路的訓練方式。在訓練類神經網路時,我們往往會做以下兩件事:

-----廣告,請繼續往下閱讀-----
  1. 『 隨機』初始化類神經網路中的『所有』參數
  2. 隨著每個樣本的預測對錯微調所有的參數

我來用實際生活案例舉個例子好了。假設你要登一座山,目標是山頂。這座山每個地方的地型都完全不一樣。所以從 A 點上山和從不一樣的 B 點或 C 點上山的路都不盡相同。假設隨機把你放在這座山邊的某一點,要你朝著山頂為目標前進。這時候你的每一步就都會是在「那個當下」最佳的往山頂路線。所以從不同的點上山路線就有可能會差異極大,雖然最後都能到山頂就是了。

類神經網路的黑盒子,就是來自這個初始化與細微調整。因為參數太多,而且微調整的方式會隨著初始位置的不同而不同,所以一個調整好的類神經網路雖然可以達到不錯的預測成果,但是幾乎沒有人知道為什麼能夠達到這個預測效果。

  • 題外話,這個議題已經受到機器學習以及人工智慧界的重視了。許多人都在想辦法解開這個「黑盒子之謎」5, 6, 7

再舉個例子。每個人的大腦會隨著發育環境的不同而有著不同的發展軌跡,所以幾乎沒有兩個人的大腦神經連結方式是完全相同的。雖然每個人都知道蘋果可以吃,或者是被打會痛;但是發展出這個知識的「神經元連結」則有可能每個人都不一樣。

參數設定越明確,越能解開「黑箱作業」!

回到主題。在前一段落提到的:完全按照代謝途徑建構的類神經網路,和其他網路系統不同的是,它有著「解開黑盒子」的效果呢。

-----廣告,請繼續往下閱讀-----

這是因為這套「酵母菌的類神經網路預測模型」是完全按照「生物的代謝途徑」來連結的,所以雖然每個參數還是會因為類神經網路訓練過程而有所不同,但是我們可以得知某個神經元的總輸入參數值,也就是這個神經元的活化 (activation;中國翻成『激活』) 程度。只要將預測過程中每個神經元被活化的程度彼此比較,就能夠得知那個神經元扮演著最重要的角色;而這個神經元也就會是整個代謝途徑中最關鍵的基因或是調控因子。

下列 a、b 兩圖中皆可在這個類神經網路中,不同的基因活化後將會趨動不同的細胞反應,如 a 圖的 PMT1 與 IRE1 兩條基因與細胞壁的組成與強度有關,而 b 圖則可見 ERV7 與 RAD57 與DNA 的修復有著密切關聯性。

(點圖放大):按照細胞代謝途徑建構的類神經網路系統模擬測試結果。圖/參考文獻 1 ,Figure 3a 與 3d。

回到系統生物學,這套系統之所以對系統生物學的研究很有幫助的原因,在於它是一個可模擬生物在輸入各種訊號(如食物或環境刺激)後,將整個生物代謝途徑中最關鍵的基因標示出來的系統。礙於篇幅沒辦法將所有的元件講的非常清楚(比如說類神經網路本身就有一大堆參數要設定,然後訓練時也往往要扯到方程式微分模型之類的),只是很概略地將最大方向的概念用各種例子來說明。希望各位在讀完這個系列後能夠對何謂類神經網路有著最基本的認知,也能大致理解為什麼類神經網路會被詬病為「黑盒子」的原因。

參考文獻

  1. Ma et al., “Using deep learning to model the hierarchical structure and function of a cell”, Nature Methods, 15:290–298, 2018.
  2.  Pomerleau D., “ALVINN: an autonomous land vehicle in a neural network”, Advances in Neural Information Processing Systems 1, pp. 305-313, 1989.
  3. Lin et al., “Using neural networks for reducing the dimensions of single-cell RNA-Seq data”, Nucleic Acids Research, 45(17):e156, 2017.
  4. Yu et al., “Visible Machine Learning for Biomedicine”, Cell, 173(7):1562-1565, 2018.
  5. Knight W., “The Dark Secret at the Heart of AI”, MIT Technology Review,2017.
  6. Wisdom D., “Deciphering The Black Box of AI”, Medium, 2018.
  7. Castelvecchi D., “Can we open the black box of AI?”, Nature 538:20-23, 2016.

文章難易度
MiTalk
10 篇文章 ・ 5 位粉絲
MiTalk 由一群微生物領域的科學家組成,希望能讓更多人喜歡上這些有趣的小生物。MiTalkzine 是我們推出的免費電子科普雜誌,歡迎訂閱

0

3
3

文字

分享

0
3
3
圖形處理單元與人工智慧
賴昭正_96
・2024/06/24 ・6944字 ・閱讀時間約 14 分鐘

-----廣告,請繼續往下閱讀-----

  • 作者/賴昭正|前清大化學系教授、系主任、所長;合創科學月刊

我擔心人工智慧可能會完全取代人類。如果人們能設計電腦病毒,那麼就會有人設計出能夠自我改進和複製的人工智慧。 這將是一種超越人類的新生命形式。

——史蒂芬.霍金(Stephen Hawking) 英國理論物理學家

大約在八十年前,當第一台數位計算機出現時,一些電腦科學家便一直致力於讓機器具有像人類一樣的智慧;但七十年後,還是沒有機器能夠可靠地提供人類程度的語言或影像辨識功能。誰又想到「人工智慧」(Artificial Intelligent,簡稱 AI)的能力最近十年突然起飛,在許多(所有?)領域的測試中擊敗了人類,正在改變各個領域——包括假新聞的製造與散佈——的生態。

圖形處理單元(graphic process unit,簡稱 GPU)是這場「人工智慧」革命中的最大助手。它的興起使得九年前還是個小公司的 Nvidia(英偉達)股票從每股不到 $5,上升到今天(5 月 24 日)每股超過 $1000(註一)的全世界第三大公司,其創辦人(之一)兼首席執行官、出生於台南的黃仁勳(Jenson Huang)也一躍成為全世界排名 20 內的大富豪、台灣家喻戶曉的名人!可是多少人了解圖形處理單元是什麼嗎?到底是時勢造英雄,還是英雄造時勢?

黃仁勳出席2016年台北國際電腦展
Nvidia 的崛起究竟是時勢造英雄,還是英雄造時勢?圖/wikimedia

在回答這問題之前,筆者得先聲明筆者不是學電腦的,因此在這裡所能談的只是與電腦設計細節無關的基本原理。筆者認為將原理轉成實用工具是專家的事,不是我們外行人需要了解的;但作為一位現在的知識分子或公民,了解基本原理則是必備的條件:例如了解「能量不滅定律」就可以不用仔細分析,即可判斷永動機是騙人的;又如現在可攜帶型冷氣機充斥市面上,它們不用往室外排廢熱氣,就可以提供屋內冷氣,讀者買嗎?

CPU 與 GPU

不管是大型電腦或個人電腦都需具有「中央處理單元」(central process unit,簡稱 CPU)。CPU 是電腦的「腦」,其電子電路負責處理所有軟體正確運作所需的所有任務,如算術、邏輯、控制、輸入和輸出操作等等。雖然早期的設計即可以讓一個指令同時做兩、三件不同的工作;但為了簡單化,我們在這裡所談的工作將只是執行算術和邏輯運算的工作(arithmetic and logic unit,簡稱 ALU),如將兩個數加在一起。在這一簡化的定義下,CPU 在任何一個時刻均只能執行一件工作而已。

-----廣告,請繼續往下閱讀-----

在個人電腦剛出現只能用於一般事物的處理時,CPU 均能非常勝任地完成任務。但電腦圖形和動畫的出現帶來了第一批運算密集型工作負載後,CPU 開始顯示心有餘而力不足:例如電玩動畫需要應用程式處理數以萬計的像素(pixel),每個像素都有自己的顏色、光強度、和運動等, 使得 CPU 根本沒辦法在短時間內完成這些工作。於是出現了主機板上之「顯示插卡」來支援補助 CPU。

1999 年,英偉達將其一「具有集成變換、照明、三角形設定/裁剪、和透過應用程式從模型產生二維或三維影像的單晶片處理器」(註二)定位為「世界上第一款 GPU」,「GPU」這一名詞於焉誕生。不像 CPU,GPU 可以在同一個時刻執行許多算術和邏輯運算的工作,快速地完成圖形和動畫的變化。

依序計算和平行計算

一部電腦 CPU 如何計算 7×5+6/3 呢?因每一時刻只能做一件事,所以其步驟為:

  • 計算 7×5;
  • 計算 6/3;
  • 將結果相加。

總共需要 3 個運算時間。但如果我們有兩個 CPU 呢?很多工作便可以同時(平行)進行:

-----廣告,請繼續往下閱讀-----
  • 同時計算 7×5 及 6/3;
  • 將結果相加。

只需要 2 個運算時間,比單獨的 CPU 減少了一個。這看起來好像沒節省多少時間,但如果我們有 16 對 a×b 要相加呢?單獨的 CPU 需要 31 個運算的時間(16 個 × 的運算時間及 15 個 + 的運算時間),而有 16 個小 CPU 的 GPU 則只需要 5 個運算的時間(1 個 × 的運算時間及 4 個 + 的運算時間)!

現在就讓我們來看看為什麼稱 GPU 為「圖形」處理單元。圖一左圖《我愛科學》一書擺斜了,如何將它擺正成右圖呢? 一句話:「將整個圖逆時針方向旋轉 θ 即可」。但因為左圖是由上百萬個像素點(座標 x, y)組成的,所以這句簡單的話可讓 CPU 忙得不亦樂乎了:每一點的座標都必須做如下的轉換

x’ = x cosθ + y sinθ

y’ = -x sinθ+ y cosθ

-----廣告,請繼續往下閱讀-----

即每一點均需要做四個 × 及兩個 + 的運算!如果每一運算需要 10-6 秒,那麼讓《我愛科學》一書做個簡單的角度旋轉,便需要 6 秒,這豈是電動玩具畫面變化所能接受的?

圖形處理的例子

人類的許多發明都是基於需要的關係,因此電腦硬件設計家便開始思考:這些點轉換都是獨立的,為什麼我們不讓它們同時進行(平行運算,parallel processing)呢?於是專門用來處理「圖形」的處理單元出現了——就是我們現在所知的 GPU。如果一個 GPU 可以同時處理 106 運算,那上圖的轉換只需 10-6 秒鐘!

GPU 的興起

GPU 可分成兩種:

  • 整合式圖形「卡」(integrated graphics)是內建於 CPU 中的 GPU,所以不是插卡,它與 CPU 共享系統記憶體,沒有單獨的記憶體組來儲存圖形/視訊,主要用於大部分的個人電腦及筆記型電腦上;早期英特爾(Intel)因為不讓插卡 GPU 侵蝕主機的地盤,在這方面的研發佔領先的地位,約佔 68% 的市場。
  • 獨立顯示卡(discrete graphics)有不與 CPU 共享的自己專用內存;由於與處理器晶片分離,它會消耗更多電量並產生大量熱量;然而,也正是因為有自己的記憶體來源和電源,它可以比整合式顯示卡提供更高的效能。

2007 年,英偉達發布了可以在獨立 GPU 上進行平行處理的軟體層後,科學家發現獨立 GPU 不但能夠快速處理圖形變化,在需要大量計算才能實現特定結果的任務上也非常有效,因此開啟了為計算密集型的實用題目編寫 GPU 程式的領域。如今獨立 GPU 的應用範圍已遠遠超出當初圖形處理,不但擴大到醫學影像和地震成像等之複雜圖像和影片編輯及視覺化,也應用於駕駛、導航、天氣預報、大資料庫分析、機器學習、人工智慧、加密貨幣挖礦、及分子動力學模擬(註三)等其它領域。獨立 GPU 已成為人工智慧生態系統中不可或缺的一部分,正在改變我們的生活方式及許多行業的遊戲規則。英特爾在這方面發展較遲,遠遠落在英偉達(80%)及超微半導體公司(Advance Micro Devices Inc.,19%,註四)之後,大約只有 1% 的市場。

-----廣告,請繼續往下閱讀-----
典型的CPU與GPU架構

事實上現在的中央處理單元也不再是真正的「單元」,而是如圖二可含有多個可以同時處理運算的核心(core)單元。GPU 犧牲大量快取和控制單元以獲得更多的處理核心,因此其核心功能不如 CPU 核心強大,但它們能同時高速執行大量相同的指令,在平行運算中發揮強大作用。現在電腦通常具有 2 到 64 個核心;GPU 則具有上千、甚至上萬的核心。

結論

我們一看到《我愛科學》這本書,不需要一點一點地從左上到右下慢慢掃描,即可瞬間知道它上面有書名、出版社等,也知道它擺斜了。這種「平行運作」的能力不僅限於視覺,它也延伸到其它感官和認知功能。例如筆者在清華大學授課時常犯的一個毛病是:嘴巴在講,腦筋思考已經不知往前跑了多少公里,常常為了追趕而越講越快,將不少學生拋到腦後!這不表示筆者聰明,因為研究人員發現我們的大腦具有同時處理和解釋大量感官輸入的能力。

人工智慧是一種讓電腦或機器能夠模擬人類智慧和解決問題能力的科技,因此必須如人腦一樣能同時並行地處理許多資料。學過矩陣(matrix)的讀者應該知道,如果用矩陣和向量(vector)表達,上面所談到之座標轉換將是非常簡潔的(註五)。而矩陣和向量計算正是機器學習(machine learning)演算法的基礎!也正是獨立圖形處理單元最強大的功能所在!因此我們可以了解為什麼 GPU 會成為人工智慧開發的基石:它們的架構就是充分利用並行處理,來快速執行多個操作,進行訓練電腦或機器以人腦之思考與學習的方式處理資料——稱為「深度學習」(deep learning)。

黃仁勳在 5 月 22 日的發布業績新聞上謂:「下一次工業革命已經開始了:企業界和各國正與英偉達合作,將價值數萬億美元的傳統資料中心轉變為加速運算及新型資料中心——人工智慧工廠——以生產新商品『人工智慧』。人工智慧將為每個產業帶來顯著的生產力提升,幫助企業降低成本和提高能源效率,同時擴大收入機會。」

附錄

人工智慧的實用例子:下面一段是微軟的「copilot」代書、谷歌的「translate」代譯之「one paragraph summary of GPU and AI」。讀完後,讀者是不是認為筆者該退休了?

-----廣告,請繼續往下閱讀-----

GPU(圖形處理單元)和 AI(人工智慧)之間的協同作用徹底改變了高效能運算領域。GPU 具有平行處理能力,特別適合人工智慧和機器學習所需的複雜資料密集運算。這導致了影像和視訊處理等領域的重大進步,使自動駕駛和臉部辨識等技術變得更加高效和可靠。NVIDIA 開發的平行運算平台 CUDA 進一步提高了 GPU 的效率,使開發人員能夠透過將人工智慧問題分解為更小的、可管理的、可同時處理的任務來解決這些問題。這不僅加快了人工智慧研究的步伐,而且使其更具成本效益,因為 GPU 可以在很短的時間內執行與多個 CPU 相同的任務。隨著人工智慧的不斷發展,GPU 的角色可能會變得更加不可或缺,推動各產業的創新和新的可能性。大腦透過神經元網路實現這一目標,這些神經元網路可以獨立但有凝聚力地工作,使我們能夠執行複雜的任務,例如駕駛、導航、觀察交通信號、聽音樂並同時規劃我們的路線。此外,研究表明,與非人類動物相比,人類大腦具有更多平行通路,這表明我們的神經處理具有更高的複雜性。這個複雜的系統證明了我們認知功能的卓越適應性和效率。我們可以一邊和朋友聊天一邊走在街上,一邊聽音樂一邊做飯,或一邊聽講座一邊做筆記。人工智慧是模擬人類腦神經網路的科技,因此必須能同時並行地來處理許多資料。研究人員發現了人腦通訊網路具有一個在獼猴或小鼠中未觀察獨特特徵:透過多個並行路徑傳輸訊息,因此具有令人難以置信的多任務處理能力。

註解

(註一)當讀者看到此篇文章時,其股票已一股換十股,現在每一股約在 $100 左右。

(註二)組裝或升級過個人電腦的讀者或許還記得「英偉達精視 256」(GeForce 256)插卡吧?

(註三)筆者於 1984 年離開清華大學到 IBM 時,就是參加了被認為全世界使用電腦時間最多的量子化學家、IBM「院士(fellow)」Enrico Clementi 的團隊:因為當時英偉達還未有可以在 GPU 上進行平行處理的軟體層,我們只能自己寫軟體將 8 台中型電腦(非 IBM 品牌!)與一大型電腦連接來做平行運算,進行分子動力學模擬等的科學研究。如果晚生 30 年或許就不會那麼辛苦了?

-----廣告,請繼續往下閱讀-----

(註四)補助個人電腦用的 GPU 品牌到 2000 年時只剩下兩大主導廠商:英偉達及 ATI(Array Technology Inc.)。後者是出生於香港之四位中國人於 1985 年在加拿大安大略省成立,2006 年被超微半導體公司收購,品牌於 2010 年被淘汰。超微半導體公司於 2014 年 10 月提升台南出生之蘇姿豐(Lisa Tzwu-Fang Su)博士為執行長後,股票從每股 $4 左右,上升到今天每股超過 $160,其市值已經是英特爾的兩倍,完全擺脫了在後者陰影下求生存的小眾玩家角色,正在挑戰英偉達的 GPU 市場。順便一題:超微半導體公司現任總裁(兼 AI 策略負責人)為出生於台北的彭明博(Victor Peng);與黃仁勳及蘇姿豐一樣,也是小時候就隨父母親移居到美國。

(註五)

延伸閱讀

  • 熱力學與能源利用」,《科學月刊》,1982 年 3 月號;收集於《我愛科學》(華騰文化有限公司,2017 年 12 月出版),轉載於「嘉義市政府全球資訊網」。
  • 網路安全技術與比特幣」,《科學月刊》,2020 年 11 月號;轉載於「善科教育基金會」的《科技大補帖》專欄。
文章難易度

討論功能關閉中。

賴昭正_96
43 篇文章 ・ 56 位粉絲
成功大學化學工程系學士,芝加哥大學化學物理博士。在芝大時與一群留學生合創「科學月刊」。一直想回國貢獻所學,因此畢業後不久即回清大化學系任教。自認平易近人,但教學嚴謹,因此穫有「賴大刀」之惡名!於1982年時當選爲 清大化學系新一代的年青首任系主任兼所長;但壯志難酬,兩年後即辭職到美留浪。晚期曾回台蓋工廠及創業,均應「水土不服」而鎩羽而歸。正式退休後,除了開始又爲科學月刊寫文章外,全職帶小孫女(半歲起);現已成七歲之小孫女的BFF(2015)。首先接觸到泛科學是因爲科學月刊將我的一篇文章「愛因斯坦的最大的錯誤一宇宙論常數」推薦到泛科學重登。

0

1
0

文字

分享

0
1
0
免費字幕君!怎麼用 AI 語音辨識幫你自動生成字幕?
泛科學院_96
・2024/07/08 ・2458字 ・閱讀時間約 5 分鐘

下載 Youtube 影片、自動生成影片逐字稿、AI 智慧翻譯、匯出雙語 SRT 字幕、字幕內嵌 MP4 影片,甚至是把你的電腦當成 AI 運算伺服器、使用多模態 AI 模型來做圖片辨識……這一切的一切通通都免費,敢有可能 (Kám ū khó-lîng)?

今天的影片要來跟你分享開源 AI 套件 Ollama,這個開源套件AJ 最近上課演講工作坊逢人必教。

今天的影片,我們要手把手教你使用 Ollama 在你的電腦裡執行各種免費開源 AI 模型,希望你能跟我一樣成為 AI 暈船仔……Ollama 真香……啊扯遠了,我們沒有點數可以送。

今天的影片會分成三個部分:

-----廣告,請繼續往下閱讀-----
  1. Ollama 安裝與模型下載
  2. 結合 Memo 翻譯影片字幕
  3. 用多模態模型做圖片辨識

Ollama 安裝與模型下載

首先我們要先安裝 Ollama:

來到 ollama.com 點選 Download,下載適合自己的版本後進行安裝,安裝完畢之後,啟動 Ollama。以我的電腦來說右上角就會出現一個小小的 Ollama 圖示,這樣就成功安裝囉!

接著我們需要下載 AI 模型到你的電腦:

回到 Ollama 首頁,點選右上角 Models,這邊就會列出所有官方支援的模型,比如最近很流行的 Meta LLAMA 3、微軟的 Phi3、法國 Mistral AI 公司的 Mistral、Google Gemini 模型的開源版 Gemma 都有,你可以挑選喜歡的來測試。

-----廣告,請繼續往下閱讀-----

比如我點選 LLAMA 3 的連結,模型頁面有兩個地方要注意:一是模型大小,LLAMA3 是 4.7G,一般而言要玩大模型,電腦記憶體至少 16G,預算夠就 24G 不嫌多;如果你是使用一般文書電腦,記憶體 8G 的話,建議你現在馬上停止你的任何動作。我有測試過電腦會直接當機……不要說我沒有提醒你。

點開 Latest 選單可以依照需求選擇不同版本的模型:

不過我們直接點選最右邊複製執行指令,打開電腦的終端機程式,或著命令提示字元,貼上,這樣電腦就會開始下載並且自動安裝囉。

你可以用 ollama list 指令查看現在電腦內有哪些模型,如果硬碟容量有限,用 ollama rm 後面加上模型名稱可以刪除模型。比如:ollama rm llama3。我們這邊另外安裝 llava 模型:ollama run llava,這樣準備工作就完成囉。

-----廣告,請繼續往下閱讀-----

Ollama + memo

最近只要演講上課,我一定會分享 Memo 這套好用的軟體,我們之前也有一支影片分享他的用法。

最近 Memo 更新之後,我們就可以直接使用 Ollama 結合特定的模型來進行字幕的翻譯。舉例來說,我們打開 memo,複製 Youtube 網址;我們用這支 楊立昆 的演講,貼上網址,開始下載,下載完畢後使用電腦進行語音辨識,接著我們就可以使用 Ollama 搭配剛剛準備好的 LLama3 模型來做翻譯!


翻譯完畢之後就可以匯出 SRT 字幕


如果你本身是影片創作者,這招就可以輕鬆製作你的 SRT 字幕,再也不用花時間對字幕時間軸了。

-----廣告,請繼續往下閱讀-----

或者你要把影片字幕直接內嵌在做簡報的時候播放影片:


匯出 MP4 格式,語言選雙語。如果你還沒用過這招處理影片,我強烈建議你一定要試試看!

Ollama + Enchanted

接下來我們要分享另一套非常實用的工具——Enchanted。他也是開源,可以讓原本是文字介面的 Ollama
提供類似 ChatGPT 的對話視窗,甚至支援圖片辨識的多模態模型 llava,Mac 用戶可以直接去 App Store 免費安裝。


同時開啟 Ollama 跟 Enchanted LLM:

-----廣告,請繼續往下閱讀-----


就擁有一個漂亮的視窗介面,可以優雅的啟用各種想要測試的 AI 模型,他甚至有手機版 APP!用手機連線自己的蘋果電腦跑 AI 模型?這……這,真的可以免費用嗎?

讓我來試試看!

首先要先安裝 ngrok 這套程式,選擇自己的作業系統然後下載。Windows 用戶應該直接安裝就可以了,Mac 的用戶在終端機執行這行 Sudo 指令把程式解壓縮到 user local bin 資料夾,接著註冊一個免費的 ngrok 帳號。

複製 ngrok config 指令,貼回自己電腦的終端機,把連線金鑰寫入自己的電腦。

-----廣告,請繼續往下閱讀-----

最後一步,啟動連線,指令是:ngrok http 11434 –host-header=”localhost:11434″

一切順利的話就會看到類似這個畫面。

然後把 forwarding 的網址複製,打開 iPhone 或 iPad 的 Enchanted app,在設定 Setting 裡面把 Ollama 網址貼上,這樣就可以遠端調用電腦的 Ollama 來使用 AI 模型,比如選用稍早下載的 LLava 多模態模型。

傳一張照片,問它這是什麼?

-----廣告,請繼續往下閱讀-----


是不是非常神奇呢?
快練習把 ollama、ngrok 跟 Enchanted 串起來跟朋友炫耀吧!

總結

今天的影片跟各位分享了基於 Ollama 這個開源 AI 套件的各種有趣應用,你是否有成功在 iphone 上打造自己的 AI 服務呢?

  1. 太複雜了我決定躺平
  2. 笑話,我可是尊榮的 GPT Plus 用戶
  3. 沒有 Mac 電腦不能玩……嗚嗚嗚
  4. 你怎麼不介紹那個 ooxx Ollama 套件

如果有其他想看的 AI 工具測試或相關問題,也可以留言告訴我們~

更多、更完整的內容,歡迎上泛科學院的 youtube 頻道觀看完整影片,並開啟訂閱獲得

討論功能關閉中。

泛科學院_96
44 篇文章 ・ 51 位粉絲
我是泛科學院的AJ,有15年的軟體測試與電腦教育經驗,善於協助偏鄉NPO提升資訊能力,以Maker角度用發明解決身邊大小問題。與你分享人工智慧相關應用,每週更新兩集,讓我們帶你進入科技與創新的奇妙世界,為未來開啟無限可能!

0

0
0

文字

分享

0
0
0
Claude、ChatGPT 提示詞優化!4 個技巧讓 AI 更懂你的需求!
泛科學院_96
・2024/07/06 ・713字 ・閱讀時間約 1 分鐘

-----廣告,請繼續往下閱讀-----

聽說 Office 365 Copilot 終於支援中文了!

我還不馬上拿出魔術小卡——加入會員,訂閱,開啟小鈴鐺,啊不是我是說,訂閱 Copilot……

嗯?20 美金?嗯?這沒有 Office 365 Copilot 啊?我找找……

靠,現在訂閱 Office 365 Copilot,最便宜要用商務標準版才能加購,而且加購只能一次買一年,要一萬一……我們本來都準備好各種有趣的測試了,但這錢我真的花不下去阿……那今天準備好的測試該怎麼辦呢?

-----廣告,請繼續往下閱讀-----

別擔心,今天的影片,我來回答三個問題:

  1. 如果 copilot 真的開放,我想像中會遇到什麼問題
    抱歉了,一萬一真的刷不下去……
  2. 用 GPT4 示範大語言模型的進階提示技巧,應用於文稿撰寫的方法
    畢竟 copilot 也是借鑑 GPT4,性能應該差不多啦!(屁啦)
  3. 這些技巧在其他語言模型也可以用嗎?

本集的「進階 AI 提示語」有沒有打開你的 AI 使用靈感呢?

  1. 太複雜了我決定躺平
  2. 炫技,等 GPT-5 出來這些都不再重要
  3. 我決定仿效泛科學院精神鑽研出神級提示語跟大家分享
  4. 其他也可以留言分享喔

欸嘿,前面提到的 QR code 在這邊 ^.< 不要告訴別人喔(噓)


如果有其他想看的 AI 工具測試或相關問題,也可以留言告訴我們~

-----廣告,請繼續往下閱讀-----

更多、更完整的內容,歡迎上泛科學院的 youtube 頻道觀看完整影片,並開啟訂閱獲得更多有趣的資訊!

討論功能關閉中。

泛科學院_96
44 篇文章 ・ 51 位粉絲
我是泛科學院的AJ,有15年的軟體測試與電腦教育經驗,善於協助偏鄉NPO提升資訊能力,以Maker角度用發明解決身邊大小問題。與你分享人工智慧相關應用,每週更新兩集,讓我們帶你進入科技與創新的奇妙世界,為未來開啟無限可能!