返回文章列表

大型主機DevOps與人工智慧應用

本文探討大型主機環境下DevOps的實踐與挑戰,並深入剖析人工智慧和機器學習的應用。文章涵蓋Jenkins自動化測試、zigi版本控制工具、AI市場趨勢、機器學習分類別技術、多元學習方法以及資料策略等關鍵議題,提供大型主機現代化轉型的參考。

DevOps 人工智慧

大型主機系統在許多企業中仍扮演關鍵角色,匯入DevOps和人工智慧技術能提升其效率和價值。本文介紹如何在大型主機環境中使用Jenkins實作自動化測試,並利用zigi工具進行版本控制,簡化開發流程。同時,文章也探討了人工智慧的市場趨勢、應用案例和挑戰,並深入解析機器學習的分類別技術、學習方法以及資料策略的重要性,為大型主機的現代化轉型提供全面的技術指引。

DevOps工具在大型主機的應用

大型主機環境下的DevOps實踐面臨諸多挑戰,但近年來隨著技術的進步與企業需求的增加,相關工具與方法論逐漸成熟。

Jenkins在大型主機測試的應用

Jenkins是一個廣泛使用的自動化伺服器,能夠支援多種測試框架與工具。在大型主機環境中,Jenkins可以與Topaz for Total Test等工具結合,實作功能測試的自動化。

設定Jenkins作業

  1. 來源資料夾設定:指定SonarQube報告連結的來源位置。
  2. 報告資料夾設定:設定JUnit輸出和SonarQube報告的存放路徑,預設為TTTReport。
  3. 作業會計資訊:可選引數,用於安裝過程中的會計資訊記錄。

完成設定後,可以建立新的Jenkins專案並選擇Pipeline,輸入Groovy指令碼進行自動化測試。

stage("Run Topaz for Total Test - functional test")
{
    node{
        junit 'TTTReport/*.xml'
    }
}

上述指令碼定義了一個階段,用於執行Topaz for Total Test外掛並將測試結果轉換為JUnit格式。

進一步,可以透過Pipeline Syntax生成完整的Groovy指令碼:

stage("Run Topaz for Total Test")
{
    totaltest credentialsId: 'SDKSXB0 CWCC', environmentId: 'simulator', 
                     folderPath: '', serverUrl: 'http://cwcc.compuware.com:2020', sonarVersion: '6'
    node{
        junit 'TTTReport/*.xml'
    }
}

內容解密:

  • stage("Run Topaz for Total Test"):定義一個名為「Run Topaz for Total Test」的階段,用於執行測試。
  • totaltest步驟:呼叫Topaz for Total Test外掛執行測試,使用指定的憑證ID、環境ID、伺服器URL和SonarQube版本。
  • junit 'TTTReport/*.xml':將測試結果轉換為JUnit格式並匯報。

zigi:ISPF環境下的Git工具

zigi是一個開源專案,允許開發者在ISPF環境中直接使用Git,大幅提升開發效率。

zigi的主要功能

  • Git命令支援:透過ISPF介面管理z/OS資料集和OMVS檔案。
  • 遠端倉函式庫支援:可與GitHub、Bitbucket等遠端倉函式庫互動。
  • 分支管理:支援建立、切換和合併分支。

安裝zigi

  1. 從Rocket Software網站下載軟體。
  2. 在大型主機上安裝bash、Perl和Miniconda等必要軟體。
  3. 使用Miniconda安裝Git及相關軟體。
  4. 在OMVS環境中設定Git並執行./zginstall.rex進行安裝。

使用zigi

在ISPF命令列輸入tso zigi即可啟動zigi,進行Git儲存函式庫的管理。

人工智慧:企業轉型的關鍵驅動力

Tom Siebel 具備精準掌握科技巨變的能力,他在 1980 年代加入 Oracle,見證了關係型資料函式庫的潛力。1990 年代初期,他創立了 Siebel Systems,開創了客戶關係管理(CRM)產業。2009 年,Siebel 再次押注人工智慧,推出 C3 AI 平台,協助 Royal Dutch Shell 等企業藉由 AI 技術降低成本、自動化繁瑣任務。

Siebel 對 AI 商機的描述是:「這是個龐大的商機,也是我職業生涯中見過最大的軟體市場機會。企業 AI 帶來的數位轉型仍是全球 CEO 和董事會的首要任務。我們看到各行業和地區對企業 AI 方案的需求日益強勁,業務管道持續大幅成長。」

AI 市場規模與成長潛力

根據國際資料公司(IDC)的研究,AI 市場支出預計在 2024 年前超過 5,000 億美元,年成長率達 16.4%。這不僅是軟體市場的龐大商機,也將對大型主機市場產生深遠影響。IBM、Accenture 和 Infosys 等大型企業紛紛提供高階顧問服務,協助大型企業匯入 AI 技術。

何謂人工智慧?

人工智慧的概念源自 1956 年 John McCarthy 在達特茅斯大學組織的研討會。McCarthy 將 AI 定義為「讓機器使用語言、形成抽象概念、解決人類獨有的問題,並自我改進」。AI 涵蓋機器學習(ML)和深度學習等子領域,能夠透過處理大量資料來學習和改進。

AI 的層次結構

為何使用人工智慧?

根據 Deloitte 的調查,全球超過 2,700 名 IT 和業務主管中,有 57% 認為 AI 將在未來三年內改變他們的組織。AI 不僅能提高自動化程度、降低成本,還能檢測人類難以察覺的模式,幫助企業預測市場變化、規避風險或發現商機。

案例研究:BakerHughesC3.ai 的成功實踐

某全球領先的石油和天然氣生產商與 BakerHughesC3.ai 合作,希望藉由 AI 降低裝置故障成本。該公司擁有大量的舊有技術資產,包括大型主機系統。BakerHughesC3.ai 建立了一個全球卓越中心(COE),並在第一年內開發了兩個主要應用程式,目標是在未來四年內開發超過 15 個應用程式。

其中一個應用程式幫助儀器工程師對所有控制閥進行預測性維護,不僅顯著降低了成本,還提高了現場操作的安全性。

內容解密:

  1. BakerHughesC3.ai 的角色:作為一個由 Baker Hughes 和 C3 AI 組成的聯盟,BakerHughesC3.ai 為客戶提供 AI 解決方案。
  2. 預測性維護的優勢:預測性維護能夠提前預測裝置故障,降低維修成本,提高營運效率。
  3. 全球卓越中心的建立:COE 的成立確保了專案的全球協同和管理,提升了最佳實踐的可及性。

人工智慧的應用與挑戰

人工智慧(AI)已經在許多產業中展現出其強大的潛力。舉例來說,某家大型工業裝置製造商利用AI技術提升其維護效率和客戶滿意度。他們開發了兩個主要的應用程式:C3 AI Asset Monitoring和C3 AI Reliability for Compressors。

C3 AI Asset Monitoring

這款應用程式能夠即時監控客戶的裝置,預測潛在的故障,並根據歷史資料和機器學習模型提供維護建議。這使得客戶能夠提前採取行動,避免昂貴的停機時間和維修成本。該應用程式透過React框架構建的網頁應用程式提供給終端使用者,使其能夠輕鬆存取和使用。

C3 AI Reliability for Compressors

另一個應用程式專注於壓縮機的預測性維護。它採用了自定義構建的非線性機器學習模組,能夠分析複雜的資料模式,提前預測裝置故障。這兩款應用程式都極大地提高了裝置的可靠性和客戶滿意度。

Palantir Technologies的案例

Palantir Technologies是AI服務的先驅之一,曾幫助美國政府在911事件後進行情報分析,甚至據稱協助追蹤本拉登。該公司開發了Foundry平台,一個全面的後端資料整合和模型構建解決方案。

某家汽車製造商利用Foundry處理來自保修索賠、診斷資料、經銷商操作、車輛感測器和後設資料的多源資料。這些洞察被提供給工廠,使其能夠更快地對問題做出反應。透過優先排序需要採取的行動,該公司能夠將問題解決速度提高80%。

人工智慧的挑戰

儘管AI帶來了許多好處,但也存在著諸多挑戰。2019年,蘋果和高盛推出的Apple Card因演算法偏見而受到批評,某些使用者報告稱女性使用者獲得的信用額度低於男性使用者,即使她們的收入更高。這一事件凸顯了AI系統可能存在的偏見問題。

資料品質

許多AI問題源於資料品質不佳。需要對資料集進行大量處理才能使其可用,並且需要持續監控。這個過程可能是手動且耗時的。

員工恐懼

員工可能會對AI產生誤解,擔心它會取代他們的工作,從而導致採用率低和AI專案失敗。因此,廣泛的培訓和清晰的溝通至關重要。

不透明性

AI模型可能極其複雜,難以理解。這可能導致不信任,尤其是在受監管的行業中。可解釋性技術的發展有助於理解複雜的AI模型。

多樣性

AI領域缺乏多樣性,這增加了偏見的風險。擁有更多樣化的團隊對於減少偏見至關重要。

成本

儘管成本正在下降,但建立AI專案仍然相對昂貴。資料科學家的薪水、硬體和基礎設施的成本都很高。維護AI模型也需要額外的成本。

機器學習

機器學習是弱AI的一種常見方法。IBM開發者Arthur Samuel在1950年代提出了機器學習的概念,使電腦能夠在沒有明確程式設計的情況下學習。他使用這項技術使大型主機電腦能夠下棋,並擊敗了頂級棋手。

機器學習系統透過處理資料集或訓練資料來進行預測或分類別。根據使用的演算法,有多種機器學習方法。一般的工作流程包括資料處理、模式識別和預測。

機器學習有四種型別的分類別:

  • 二元分類別
  • 多類別分類別
  • 多標籤分類別
  • 不平衡分類別

這些技術在各個領域都有廣泛的應用,並且正在不斷進步,以滿足日益複雜的需求。

機器學習分類別技術深度解析

在機器學習領域中,分類別問題是最常見的任務之一。根據不同的分類別需求和資料特性,機器學習提供了多種分類別技術,包括二元分類別、多類別分類別、多標籤分類別和不平衡分類別等。

二元分類別:基礎且實用的方法

二元分類別是一種將資料分為兩個類別的技術,結果通常以0或1表示。這種方法根據布林邏輯,輸出結果為真或假。在機器學習中,二元分類別廣泛應用於各種場景,如垃圾郵件檢測、客戶購買預測、客戶流失預測和腫瘤是否為惡性等。

@startuml
skinparam backgroundColor #FEFEFE

title 大型主機DevOps與人工智慧應用

|開發者|
start
:提交程式碼;
:推送到 Git;

|CI 系統|
:觸發建置;
:執行單元測試;
:程式碼品質檢查;

if (測試通過?) then (是)
    :建置容器映像;
    :推送到 Registry;
else (否)
    :通知開發者;
    stop
endif

|CD 系統|
:部署到測試環境;
:執行整合測試;

if (驗證通過?) then (是)
    :部署到生產環境;
    :健康檢查;
    :完成部署;
else (否)
    :回滾變更;
endif

stop

@enduml

此圖示展示了二元分類別的基本流程。常見的二元分類別演算法包括:

  • k-最近鄰(k-NN):根據相似資料的叢集進行預測,具有直觀易懂的特點。
  • 決策樹:以流程圖形式進行決策,每個決策點電腦率,易於理解和構建,但可能存在錯誤傳播問題。
  • 樸素貝葉斯:根據條件機率進行預測,假設變數之間相互獨立,具有較高的準確率。
  • 支援向量機(SVM):透過繪製資料並找出最佳超平面來分隔不同類別的資料,擅長處理複雜關係和異常值,但計算資源消耗大且難以視覺化。
  • 邏輯迴歸:統計方法,用於顯示變數之間的相關性,適用於二元結果的預測。

程式碼範例:使用Python實作邏輯迴歸進行二元分類別

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer

# 載入乳腺癌資料集
data = load_breast_cancer()
X = data.data
y = data.target

# 分割訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 建立邏輯迴歸模型
model = LogisticRegression(max_iter=1000)

# 訓練模型
model.fit(X_train, y_train)

# 進行預測
y_pred = model.predict(X_test)

# 評估模型
accuracy = model.score(X_test, y_test)
print(f"模型準確率:{accuracy:.2f}")

內容解密:

  1. 載入乳腺癌資料集,該資料集是二元分類別的經典範例。
  2. 使用train_test_split函式將資料分割為訓練集和測試集。
  3. 建立邏輯迴歸模型,並使用訓練集進行訓練。
  4. 使用測試集進行預測,並評估模型的準確率。

多類別分類別:處理多個類別

多類別分類別允許資料具有兩個以上的類別標籤,常見於字元識別和麵部識別等領域。多類別分類別可以使用Multinoulli機率分佈進行預測,並採用k-NN、決策樹、樸素貝葉斯、隨機森林和梯度提升等演算法。

多標籤分類別:處理多個標籤

多標籤分類別允許多個標籤與單一資料項相關聯,如一部電影可以同時屬於浪漫和喜劇型別。多標籤分類別可以使用伯努利機率分佈或轉換過程來處理,並採用傳統的機器學習演算法如決策樹、隨機森林和梯度提升。

不平衡分類別:處理類別不平衡問題

不平衡分類別通常涉及二後設資料,但其中一個類別佔據主導地位,如詐騙檢測和罕見疾病診斷。處理不平衡分類別的常見方法是使用重抽樣技術,透過增加少數類別的頻率或減少多數類別的頻率來平衡資料。

機器學習型別

機器學習模型可以透過三種主要方式進行學習:監督學習、無監督學習和強化學習。

監督學習:最常見的方法

監督學習使用標記的資料集來訓練模型,解決分類別和迴歸等問題。監督學習的優點是提供了一個比較點來評估模型的準確率,但需要大量的標記資料,且無法實時應用。

無監督學習:探索資料內在模式

無監督學習使用未標記的資料來發現資料中的內在模式。無監督學習的方法可能很複雜,需要大量的計算資源,並且難以評估其準確率。

總之,不同的機器學習分類別技術和方法適用於不同的問題和資料特性。瞭解這些技術和方法可以幫助我們更好地選擇和應用機器學習演算法,以解決實際問題。

人工智慧的多元學習方法

人工智慧(AI)領域中存在多種學習方法,這些方法讓機器能夠從資料中學習並改進其表現。這些學習方法包括監督式學習、非監督式學習、半監督式學習、強化學習和深度學習等。

非監督式學習

非監督式學習是一種不需要標記資料的學習方法。它能夠自動從資料中找出模式和關聯。非監督式學習的應用包括異常檢測、叢集分析、自動編碼器和關聯分析等。

  • 異常檢測:用於找出資料中的異常模式,常見於詐欺檢測和醫療診斷。
  • 叢集分析:將相似的資料分組,不需要事先標記資料。
  • 自動編碼器:使用神經網路將資料壓縮後再重建,能夠用於影像處理和主題建模。
  • 關聯分析:找出資料之間的關聯規則,常用於推薦系統。

半監督式學習

半監督式學習結合了監督式學習和非監督式學習的特點。它使用少量的標記資料和大量的未標記資料進行訓練。這種方法能夠減少對標記資料的需求,提高模型的準確性。

半監督式學習的優勢

亞馬遜創始人暨執行長傑夫·貝佐斯(Jeff Bezos)在2017年的股東信中提到,半監督式學習讓Alexa的語音理解能力提升了超過25%,並且減少了40倍的標記資料需求。

強化學習

強化學習是一種根據獎勵和懲罰機制的學習方法。它模擬人類的學習過程,透過試錯來最佳化行為。強化學習在遊戲、機器人和投資分析等領域有廣泛的應用。

強化學習的應用

  • 遊戲:AlphaGo利用強化學習擊敗了世界圍棋冠軍柯潔。
  • 機器人:強化學習能夠讓機器人自主學習完成任務。
  • 投資分析:透過模擬交易來最佳化投資策略。

深度學習

深度學習是一種利用神經網路進行複雜模式識別的方法。它能夠處理非結構化的資料,如影像和文字。深度學習在影像識別、語音識別和自然語言處理等領域取得了巨大的成功。

深度學習的發展

深度學習的概念源自1960年代,但直到近十幾年才因計算能力的提升和大資料的發展而變得普及。雲端運算、開源軟體和GPU技術的發展進一步加速了深度學習的進步。

深度學習的技術

  • 卷積神經網路(CNNs):用於影像和影片處理,能夠自動提取特徵。
  • 遞迴神經網路(RNNs):用於處理序列資料,如語音和文字。
  • 生成對抗網路(GANs):由兩個神經網路競爭來生成新的資料,能夠用於生成影像、語音和音樂。

資料的重要性

正如BMC的高階副執行長約翰·麥肯尼(John McKenny)所說,大量的商業交易資料是企業競爭力的關鍵。有效地利用歷史資料可以提供可行的洞察,幫助企業改善服務、加速新產品創新並發現差異化服務的機會。

資料:人工智慧的核心燃料

資料對於人工智慧(AI)的重要性不言而喻。它是推動精確預測和商業決策的關鍵。大型企業,如《財富》500強公司,將大型主機視為競爭優勢的重要來源,因為它們能夠處理和分析大量的資料。然而,資料處理並非易事,這一部分往往是AI專案中最耗時和昂貴的部分。特別是在大型主機系統中,與其他資料函式庫和雲端平台的整合更是挑戰。

大資料

根據IDC的研究,從2020年到2023年,資料的增長將超過過去30年的總和。COVID-19疫情加速了這一趨勢,因為數百萬人不得不居家工作。當然,AI也是推動這一趨勢的重要因素。

大資料通常被定義為具有以下三個要素:

容量(Volume)

這指的是資料的規模,通常達到數十TB。許多根據雲端的工具使資料管理變得更加容易。

多樣性(Variety)

這涉及不同型別的資料,如結構化、半結構化和非結構化資料。資料來源也非常多樣,包括社交媒體和物聯網(IoT)。

速度(Velocity)

這指的是資料生成的速度。對於大型主機來說,CICS是一個例子,它會產生大量的即時交易資訊。在大資料的三個V中,速度通常是最難處理的。

除了上述三個V之外,其他重要的V還包括視覺化(Visualization)、真實性(Veracity)和價值(Value)。

資料型別

瞭解不同型別的資料非常重要:

  • 結構化資料:具有明確的格式,如Db2和IMS中的資料函式庫,以及VSAM和順序檔案。這類別資料通常被標記,因此更容易用於AI模型。然而,通常沒有足夠的結構化資料來訓練模型。
  • 非結構化資料:典型的例子包括影片、電子郵件、影像、文字檔案和社交媒體帖子。非結構化資料在AI模型中非常有用,但需要標記或使用深度學習演算法來提取特徵。
  • 半結構化資料:是結構化和非結構化資料的混合體,通常包含更多的非結構化資料。XML和JSON檔案是半結構化資料的例子。
  • 時間序列資料:隨時間變化的資料,可以是結構化或非結構化的。常見的使用案例是利用IoT感測器資料建立AI模型。
  • 合成資料:由模擬或AI演算法(如GANs)生成的資料。合成資料的一個主要好處是,它比標記現有資料更便宜。根據Gartner的研究,大部分用於AI的資料將是合成資料。

資料管理

由於資料處理的困難,制定資料策略至關重要。這需要獲得組織高層的支援。資料通常分散在不同的孤島中,不同部門之間可能存在使用障礙。沒有對資料的整體視角,AI專案很可能會失敗。

一個好的資料策略還可以提高IT採購的成功率。資料解決方案可能很昂貴,而且很多是點解決方案。但一個紮實的資料策略可以實作更具戰略性的採購方法。

資料策略的關鍵要素

  • 資料清單:列出所有資料來源。應該有一個中心位置來明確標識資料來源及其使用要求。
  • 標準化:使用一致的命名慣例,並詳細記錄資料的性質,包括其來源、儲存位置、法律條款等。
  • 儲存:不僅要考慮有足夠的空間,還要考慮如何使其易於存取。
  • 業務目標:確定組織的主要目標,以及如何利用資料來實作這些目標。
  • 資料處理:涵蓋資料收集、準備和維護等領域。
  • 治理:建立規則以確保資料使用的適當性,並避免隱私和偏見等問題。

資料湖與資料倉儲

常見的資料策略是使用資料湖,這是一個集中儲存所有結構化和非結構化資料的儲存函式庫。這對於在雲端平台上執行AI尤其具有吸引力。資料湖資料倉儲的不同之處在於,後者主要關注關係型資料函式庫,而前者通常包含原始形式的資料。大型組織通常同時擁有這兩種型別的資料系統。