學習AI的第一步

更新於 發佈於 閱讀時間約 13 分鐘

AI是否為一種生命形態的呈現?以目前我們看到公開發表的TensorFlow及Pytorch的表現來說, 可能還沒到達能夠稱之為生命形態的地步。但我們在使用ChatGPT時,是否會覺得電腦背後藏了個人在幫你整理由Google、像「微軟Bing聊天」這些搜索引擎找到的文章內容並寫出一篇符合你期待的文章供你閱讀?是否讓你以為有人專門為你的搜尋寫了篇文章方便你閱讀?

又或者在和蘋果Siri對話時,是否感覺就像是在和真人對話般的自然?

三星最近推出的Galaxy S24系列手機,號稱具備AI能力,提供即時翻譯的功能。也就是說,可以和外國人通話無礙。星際爭霸戰(Star Trek)企業號裏人手一機的星際翻譯機,似乎出現雛型了。

在沒有公開的企業私領域中有多少企業秘密在投入AI的發展?這個問題,耐人尋味。企業為了競爭搶先市場推出創新產品,對新產品的研發都是以最高機密來對待。但,AI為大勢所趨,每家公司的研發部門多少因應趨勢及公司產品策略來企劃出新的產品,例如AI PC的出現也就是在這個遊戲規則下的產品,由於AI運算的基礎是張量,TensorFlow還定義了完整的張量理器規格,如果,今天不是TensorFlow而是PyTorch獨領風騷,或許我們今天看到的AI處理單元就不是TPU(Tensor Processor Unit)而是另外一個新名詞了,或許叫π處理單元(Py Processor Unit, PPU)了。笑~~

總之,企業為了維持市場競爭力,有可能自行研發AI核心智能,如TensorFlow或PyTorch之類的系統,但基於機密原則沒有公開問世,可預見的將來,IBM、西門子這些頂尖的電子公司隨著新產品的推出,也會宣佈自己的AI核心智能產品,但目前我們只能繼續推測,也或許,最終沒搭上這波AI浪潮而前浪死在砂灘上也說不定。

但對財力、研發能力有限的中小企業,採用開源的TensorFlow或PyTorch,是進入AI市場的最佳成本選擇,AI的學習成本及曲線,則是各企業競爭力強弱的表現。亦即,開源的TensorFlow及PyTorch讓各個有意角逐AI市場的企業有了共同的起跑線,差別在於,有些企業的研發能力比較好,比較快達成階段性任務的目標。

由Google搜尋,我們可以找到很多具備AI特色的軟體產品,有興趣的讀可以看看這篇文章的介紹「2023 AI 工具大集合 —— 50+ 個人工智慧軟體應用整理」。文章中介紹的軟體工具有多少是以TensorFlow或PyTorch為基礎開發,文中並沒有討論到,但我們可以推測或多或少都有用到TensorFlow或PyTorch提供的軟體庫來做為API。

談到這裏,我們就討論TenorFlow或PyTorch的技術相關議題繼續下去,我寫這系列AI文章的目的有二,自我學習AI的記錄文,並做為初學AI技術IT工作者的引導文。

一開始,我的問題是,TensorFlow或PyTorch那一個平台比較適合初學者接觸,做為卅多年IT工作者,AI技術對我而言,還是一片新領域,新的技術專門用語,新的程式語言(Python),對於用慣了SQL/C#程式語言技術的我來說,Python確實有些不容易理解,就如同JavaScript一般。或許熟悉JavaScript非程序性程式語言的工作者來說,Python相對容易學習理解。

在看過TensorFlow及PyTorch的官網後,我決定從TensorFlow來開始,TensorFlow官網的技術文件,中文文件也比較完整,PyTorch官網踓然有中文資源,但那是大陸翻譯的簡體中文資料庫,充滿了大陸的技術用語,之前廣告充斥,像是五八同城的官網那樣五花八門,看了令人煩惱。另一個原因是,我打算轉入Linux環境來練習AI,Windows雖然好,但在Python虛擬環境的支援上,Linux會比Windows簡單一些。TensorFlow在Ubuntu的安裝簡單也容易使用。

我使用的電腦配備如下:

  • Intel Core i5-11400 CPU,還沒有用AI PC
  • Nivida GeForce GTX1650 顯示卡
  • 32GB RAM
  • 十銓 1TB M.2 PCIe SSD

然後,我裝了Ubuntu 20.04.01版本,就用預設的安裝過程,把整顆SSD都給Ubuntu使用了。就這樣,沒有特別做什麼安排。

接著參考TensorFlow官網的「使用 pip 安裝 TensorFlow」的說明安裝TensorFlow,pip是Python環境下的軟體包管理套件,熟悉Linux作業系統的讀者會知道RPM、fpkg、apt等等,有使用node.js開發與管理網站的都會npm,那麼Python為何又要推一套pip?pip是以Python編寫的軟體包管理工具,其目的也就是成為Python虛擬環境下的軟體包管理工具,Python為了能夠良好管理開發環境,發展出Python虛擬環境這個技術,我們想像一下,軟體開發人員為了開發專案的需要,可能會為每個開發專案建構獨特的開發環境,各個專案使用了不同版本的開發套件,如果這些開發套件都安裝在同一個環境中,就有可能會混淆、互相干擾,導致開發環境的不穩定,為了避免開發環境中不同版本的開發套件的互相干擾,Python採用了虛擬環境的概念來區隔不同軟體專案,每個專案有自己的開發環境而且互不干擾。

這個Python虛擬環境在引用TensorFlow的軟體庫的開發專案中,非常重要。

現在TensorFlow的最新版本是2.15.0,由於TensorFlow是個還在發展中的軟體庫,可以預見未來還會有更多新的版本出現,新版的TensorFlow可能會更新了軟體庫的叫用方式,此時,如果更新到新版本,可能導致開發中的專案發生版本不相容的錯誤,對專案的開發產生負面影響。藉用Python的虛擬環境,可以隔離不同版本的TensorFlow,這樣我們專案開發也可以不會因為新版的TensorFlow導入而發生開發流程中斷或暫停的情況。

Python的虛擬環境,基本上是一個公用的Python開發環境,然後套用在不同資料夾中的虛擬環境檔案來運作,我們可以這麼想,你知道阿湯哥的【不可能的任務】系列電影吧?阿湯哥出任務,需要製作人皮面具,然後戴上人皮面具就能偽裝成某位關鍵人物執行任務。虛擬環境資料夾就相當於人皮面具,賦予Python不同的面貎以執行指定的任務,至荩面具長什麼樣子,就看開發專案的要求了。

談到這裏,我們可以回到TensorFlow的安裝,繼續談下去了。

A最新版本的TensorFlow是2.15.0,也就所謂TensorFlow 2,如果專案需要,想安裝TensorFlow 1也是可以的,只要在安裝過程加以指定就可以了。另外要注意的是由於TensorFlow架構的因素,會需要考慮CPU、GPU的支援,所以會有支援CPU版本、支援GPU版本等的安裝選項,如果是AI PC,TensorFlow是否會自動啟用支援TPU,這一點我認為由於具備TPU的處理器還是新的硬體技術,按照以往半年到一年的準備期,軟體開發才會趕上硬體的歷程看來,今年(2024)就會有專門為Intel Core Ultra、AMD Ryzen 7 7840這些具有TPU的處理器優化的TensorFlow版本出現,但我也認為或許TensorFlow本身就己經有針對TPU優化了,只要硬體到位就自動啟用TPU優化的功能也說不定。

雖然TensorFlow分為支援CPU、GPU的版本,但是基本上,那是很底層的東西,對我們初學者來說,還沒有進階到需要計較運算能力的地步,所以我只要安裝一般CPU的版本就可以了,等到那天我需要更強的運算能力時,再來看是否安裝支援GPU的TensoFlow版本還來得及。

此外,在談到Python時,一般都會談到Anaconda,Anaconda是一個Python和R語言的發行版本,和pip似乎是一樣的工具,Google到很多文章談到Anaconda(Conda)和pip的競爭關係,由於我是初學Python,談這兩者那個比較好,對我來說是沒有意義的,簡單來說,你可以用pip來進行TensorFlow的安裝學習,也可以用Anaconda來安裝學習,看你怎麼選擇了。

就簡單好用這個目的而言,我選用pip。別跟我戰Anaconda更好什麼的,鍾鼎山林,人各有志,自己覺得可以用就行了。但是,如果是在Windows環境下使用與學習TensorFlow,我會建議使用Anaconda,用pip也行,只是在Windows環境下,Anaconda會比pip更友善些。Ubuntu 20.04安裝時,Python 3.8.10就己經安裝好了,所以用pip就相對容易些。

安裝TensorFlow需要

  • Python 3.6-3.9
  • pip 19.0 以上版本 (需要 manylinux2010 支援)
  • Ubuntu 16.04 以上版本 (64 位元)
  • Windows 7 以上版本 (64 位元)

因為我己經安裝了Ubuntu 20.04的環境,檢查相關軟體的版本,如下圖:

raw-image

所以我只要安裝pip3 19以上版本即可。使用以下指令:

sudo apt update
sudo apt install python3-dev python3-pip python3-venv

因為己經有Python 3.8.10安裝,所以實際執行上述指令的結果是安裝了pip及Python虛擬環境venv的軟體套件,安裝Python虛擬環境軟體套件的理由己在前文討論,就不再賛敍了。

指令執行過程中下載套件及安裝的過程就不貼圖了,我只貼上安裝完成後的版本檢查結果:

raw-image

可以看到pip也有了版本編號是20,符合TensorFlow的需求。

接下來,我們開始建立Python虛擬環境、執行虛擬環境及安裝TensorFlow,我們先執行以下指令建立Python虛擬環境,請注意【./T800】這個資料夾名稱是可以自行修訂為自己覺得有意義的字串:

python3 -m venv --system-site-packages ./T800

上述指令執行完畢後,會在目前資料夾下生成T800這個資料夾,如下圖,T800資料夾的內容我也一併貼出來參考:

raw-image

虛擬環境建好了以後,執行以下指令啟動虛擬環境及在虛擬環境安裝TensorFlow:

source ./T800/bin/activate  #這是Bash、sh、zsh啟動虛擬環境的指令,其他Shell請參考文件

pip install --upgrade pip #更新pip,安裝套件前先更新是好習慣
pip install --upgrade tensorflow #安裝TensorFlow,這樣會安裝最新版本的TensorFlow

安裝完成後,我們執行以下指令確認TensorFlow安裝完成了。

python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

以上指令執行如下圖:

raw-image

安裝過程跑很快,比較需要注意的是驗證安裝的執行結果:

tf.Tensor(-419.4875, shape=(). dtype=Float32)

這是張量運算的結果,表示TensorFlow安裝成功並且能夠正常運作。至於驗證指令代表什麼意思,以及驗證結果又是什麼意義,各位可以Google一下來瞭解,我在下一篇文章會解釋。

其實現在TensorFlow主要還是使用CPU或GPU來摸擬TPU運算,因此會需要安裝技支援CPU或支援GPU的TensorFlow版本,TensorFlow把張量運算拆解成CPU或GPU可以處理的單元,CPU或GPU處理完成後,再重組回張量的結果。所以,可以理解的是,如果直接用具有TPU的處理器來運算,TensorFlow不需轉譯張量給CPU或GPU運算,在效能上會比較好,這是一定的。但,TensorFlow是否己針對TPU優化了,也是必需關注的細節。

談到這裏,也該收尾了。

隨著TensorFlow或PyTorch漸漸流行成為IT工作者關注的重心及學習的中心,AI似乎迎來覺醒的春天,推陳出新的AI應用(現在以圖像處理及影音應用為大宗)吹響了下一波IT革命的號角,然而身為IT工作者的你是否能在這波命中佔有一席之地,就看你能不能抓住學習TensorFlow或PyTorch的潮流,逆流而上。

學習TensorFlow需要良好的Python程式語言素養,你可以到【Google Colab】網站度學習Python編程。而學習TensorFlow最好的資源則是在【TensorFlow官網】,希望這些資源有助於各位學習AI。

avatar-img
0會員
40內容數
場論是物理學名詞,統一場論、量子場論、古典場論,意思是在一個物理場範圍內影響物質運動的方式。ERP系統探討的是企業資管理的議題,我們可以把企業看做是一個力場範圍,ERP系統的導入會對企業產生什麼樣的影響,以及將企業的發展帶到什麼樣的方向上去,是我在這系列想探討的。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
賽門的IT沙龍 的其他內容
最近,迪士尼影片串流網站推出了一部關於人工智慧(A.I. Artificial Intelligence)的電影【A.I.創世者】(The Creator),描繪未來機器人被設計來對付人類的故事。 這篇文章主要在說明現今AI發展的技術主流,介紹學習AI的可能途徑,並做為後續AI技術文章的引導文。
AI,人工智慧,其實不是這幾年才有的,自從圖靈(Alan Turing)提出圖靈機模型和發表【計算機器與智慧】(Computing Machinery and Intelligence)論文以來,人工智慧,一直是程式設計人員、電腦工作者心目中的聖杯,讓我們一起來探討AI的未來。
最近,迪士尼影片串流網站推出了一部關於人工智慧(A.I. Artificial Intelligence)的電影【A.I.創世者】(The Creator),描繪未來機器人被設計來對付人類的故事。 這篇文章主要在說明現今AI發展的技術主流,介紹學習AI的可能途徑,並做為後續AI技術文章的引導文。
AI,人工智慧,其實不是這幾年才有的,自從圖靈(Alan Turing)提出圖靈機模型和發表【計算機器與智慧】(Computing Machinery and Intelligence)論文以來,人工智慧,一直是程式設計人員、電腦工作者心目中的聖杯,讓我們一起來探討AI的未來。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
人工智慧是什麼? 人工智慧(Artificial Intelligence, AI) 簡單來說,就是讓機器模仿人類的思考、學習和決策的能力。它就像是一個聰明的電腦程序,可以執行許多原本需要人類智慧才能完成的工作,例如: 語音辨識: 讓電腦聽懂人類的語言,像是 Siri、Google As
了解到現在的生成式AI各有千秋,且能協助的事之多,各家業者有如「電信公司」,遲早會是比較「行動方案」,甚或是拿著不同業者的「多門號」,人人都配有人工智慧了。 我一向不是科技的早期使用者,各家AI我都只用過免費版。 ChatGPT 作為前鋒的GPT,曾請它協助將英文句子潤色、修整文法,以解
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 人工智慧的未來是以使用者為中心,個人在與人工智慧系統的互動中扮演著越來越重要的角色。預計這種趨勢將催生被
Thumbnail
你對 AI 的認識有多少?你在生活或工作上有運用哪些 AI 的應用服務嗎?一起來了解這個目前很夯的議題。 根據 google 對 AI(artificial intelligence,縮寫為AI)的解釋:AI 是人工智慧,定義是打造電腦與機器的科學領域,可以進行推論、學習以及採取行動。這些過往需要
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在快速發展的人工智慧領域,一篇由微軟研究組撰寫,具有里程碑意義的155頁論文:Sparks of Art
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 以下來談談生成式AI對未來世界的轉變: 商業格局重新構想:邁向未來,生成式人工智慧成為改變商業格局
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 生成式AI (Generative AI)是一種人工智慧,它調度機器學習方式來產生新的或者是原創的文字、
Thumbnail
在晶狀智慧的時代,人類與AI共舞,共同建構更先進、更智能的未來。這是一場革命,一場改變人類命運的奇蹟,讓我們共同見證這個智慧的新紀元。
近來AI繪圖以及如Chatgpt等可進行對話的AI進入到大眾視野,讓AI成為了熱門話題,網路媒體和論壇冒出許多相關的文章,足見AI之勢著實非同小可。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
人工智慧是什麼? 人工智慧(Artificial Intelligence, AI) 簡單來說,就是讓機器模仿人類的思考、學習和決策的能力。它就像是一個聰明的電腦程序,可以執行許多原本需要人類智慧才能完成的工作,例如: 語音辨識: 讓電腦聽懂人類的語言,像是 Siri、Google As
了解到現在的生成式AI各有千秋,且能協助的事之多,各家業者有如「電信公司」,遲早會是比較「行動方案」,甚或是拿著不同業者的「多門號」,人人都配有人工智慧了。 我一向不是科技的早期使用者,各家AI我都只用過免費版。 ChatGPT 作為前鋒的GPT,曾請它協助將英文句子潤色、修整文法,以解
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 人工智慧的未來是以使用者為中心,個人在與人工智慧系統的互動中扮演著越來越重要的角色。預計這種趨勢將催生被
Thumbnail
你對 AI 的認識有多少?你在生活或工作上有運用哪些 AI 的應用服務嗎?一起來了解這個目前很夯的議題。 根據 google 對 AI(artificial intelligence,縮寫為AI)的解釋:AI 是人工智慧,定義是打造電腦與機器的科學領域,可以進行推論、學習以及採取行動。這些過往需要
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在快速發展的人工智慧領域,一篇由微軟研究組撰寫,具有里程碑意義的155頁論文:Sparks of Art
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 以下來談談生成式AI對未來世界的轉變: 商業格局重新構想:邁向未來,生成式人工智慧成為改變商業格局
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 生成式AI (Generative AI)是一種人工智慧,它調度機器學習方式來產生新的或者是原創的文字、
Thumbnail
在晶狀智慧的時代,人類與AI共舞,共同建構更先進、更智能的未來。這是一場革命,一場改變人類命運的奇蹟,讓我們共同見證這個智慧的新紀元。
近來AI繪圖以及如Chatgpt等可進行對話的AI進入到大眾視野,讓AI成為了熱門話題,網路媒體和論壇冒出許多相關的文章,足見AI之勢著實非同小可。