Generative AI 是指一類 AI 演算法,可從現有的多媒體內容中學習併產生新內容。 產生的內容可以透過提示和微調等技術進行自訂。 產生 AI 演算法會套用特定的機器學習模型:
- 用於生成文本的變壓器和遞迴神經網路(RNN)
- 產生影像的衍生對抗網路 (GAN) 和變化自動編碼器 (VAE)
生成式 AI 被用於影像和音樂合成、醫療保健,以及文字自動完成、文字摘要及翻譯等常見任務。 產生式 AI 技術可啟用數據的功能,例如叢集和分割、語意搜尋和建議、主題模型、問答和異常偵測。
下列影片示範如何使用適用於 PostgreSQL 的 Azure 資料庫和 pgvector 擴充模組 搭配生成式 AI,以協助您瞭解本文中的概念。
OpenAI
OpenAI 是一家以在 AI 和機器學習領域開拓性工作而聞名的研究組織和技術公司。 其使命是確保人工智慧(AGI),其指的是高度自主的 AI 系統,可在最經濟上有價值的工作中超越人類,有利於所有人。 OpenAI 帶來了最先進的生成模型,如 GPT-3、GPT-3.5 和 GPT-4。
Azure OpenAI 是Microsoft服務供應專案,可協助使用 Azure 建置產生式 AI 應用程式。 Azure OpenAI 為客戶提供具有 OpenAI GPT-4、GPT-3、Codex、DALL-E 和 Whisper 模型的進階語言 AI,以及 Azure 的安全性和企業功能。 Azure OpenAI 與 OpenAI 共同開發 API,以確保相容性並使過渡順暢。
透過 Azure OpenAI,客戶可享有 Microsoft Azure 的安全性功能,同時執行與 OpenAI 相同的模型。 Azure OpenAI 提供私人網路、區域可用性,以及負責任 AI 內容篩選。
大型語言模型
大型語言模型 (LLM) 是一種 AI 模型,其會定型大量的文字數據,以瞭解併產生人類般的語言。 LLM 通常是以深度學習架構為基礎,例如轉換器。 他們以執行各種自然語言理解和產生工作的能力而聞名。 Azure OpenAI 服務和 OpenAI 的 ChatGPT 是 LLM 供應專案的範例。
LLM 的主要特性和功能包括:
- 規模:就其架構所使用的參數數目而言,LLM 的規模非常龐大。 GPT-3 之類的模型包含從數億到數萬億個參數,讓它們能夠以語言擷取複雜的模式。
- 預訓練:LLM 透過從互聯網中獲取的大量文字數據進行預訓練。 此預先定型可讓他們瞭解文法、語法、語意,以及廣泛的語言與世界知識。
- 微調:預先訓練之後,可以根據具有較小工作特定資料集的特定工作或網域來微調 LLM。 此微調程式可讓它們適應更特製化的工作,例如文字分類、翻譯、摘要和問答。
GPT
GPT 代表 Generative Pretrained Transformer,它指的是 OpenAI 開發的一系列大型語言模型。 GPT 模型是預先定型來自因特網大量數據的神經網路,因此能夠理解和產生人類般的文字。
以下是主要 GPT 模型和其主要特性的概觀:
GPT-3:於 2020 年 6 月發行,以及 GPT 系列中著名的模型。 它有 1750 億個參數,使其成為存在的最大且最強大的語言模型之一。
GPT-3 在廣泛的自然語言瞭解和產生工作中取得顯著的表現。 它可以執行文字完成、翻譯和像人一樣流暢回答問題等工作。
GPT-3 分為各種模型大小,範圍從最小(1.25億個參數)到最大(1750億個參數)。
GPT-4:OpenAI 的最新 GPT 模型。 它有 1.76 萬億個參數。
向量
向量是一種數學概念,用於線性代數和幾何,以代表同時具有大小和方向的數量。 在機器學習的內容中,向量通常用來代表資料點或特性。
向量的主要屬性和作業包括:
- 大小:向量長度或大小,通常表示為其常態,代表數據的大小。 這是非負數實數。
- 方向:方向會指出它所代表之數量的方向或角度,相對於參考點或座標系統。
-
元件:向量可以沿著不同的軸或維度分解成其元件。 在 2D 笛卡兒座標系統中,向量可以分別表示為 (x、 y),其中 x 和 y 是沿著 x 軸和 y 軸的元件。
n 維度中的向量是 n 元組 (
{x1, x2… xn})。 - 加法和純量乘法:向量可以加在一起以形成新的向量,而且可以乘以純量(實數)。
- 點產品和交叉產品:向量可以透過點產品(純量產品)和交叉產品(向量產品)合併。
向量資料庫
向量資料庫,也稱為向量資料庫管理系統(DBMS),是一種資料庫系統,其設計目的是要有效率地儲存、管理和查詢向量數據。 傳統關係資料庫主要處理數據表中的結構化數據,而向量資料庫則針對以向量表示的多維度數據點儲存和擷取優化。 這些資料庫適用於涉及相似度搜尋、地理空間資料、建議系統和叢集這類作業的應用程式。
向量資料庫的主要特性包括:
- 向量儲存:向量資料庫會將數據點儲存為具有多個維度的向量。 每個維度都代表資料點的功能或屬性。 這些向量可以代表各種不同的數據類型,包括數值、類別和文字數據。
- 有效率的向量運算:向量資料庫已針對執行向量運算進行優化,例如向量加法、減法、點產品和相似度計算(例如余弦相似度或 Euclidean 距離)。
- 有效率的搜尋:有效率的索引編製機制對於快速擷取類似的向量至關重要。 向量資料庫使用各種編製索引機制來啟用快速擷取。
- 查詢語言:向量資料庫提供針對向量作業和相似性搜尋量身打造的查詢語言和 API。 這些查詢語言可讓使用者有效率地表達其搜尋準則。
- 相似度搜尋:向量資料庫在相似性搜尋中表現優異,讓用戶能夠尋找類似所提供查詢點的數據點。 在搜尋和建議系統中,此特性深具價值。
- 地理空間數據處理:某些向量資料庫是針對地理空間數據所設計,因此非常適合位置服務、地理資訊系統(GIS)和地圖相關工作等應用程式。
- 支援各種數據類型:向量資料庫可以儲存和管理各種類型的數據,例如向量、影像和文字。
PostgreSQL 可以透過 pgvector 延伸模組的協助來取得向量資料庫的功能。
嵌入技術
內嵌是機器學習和自然語言處理的概念,涉及在多維度空間中將物件(例如文字、檔或實體)表示為向量。
這些向量通常密集。 也就是說,它們具有大量的維度。 他們透過各種技術來學習,包括神經網路。 內嵌旨在擷取連續向量空間中物件之間的語意關聯性和相似性。
常見的內嵌類型包括:
-
Word:在自然語言處理中,文字內嵌會將文字表示為向量。 每個字組都會對應至高維度空間中的向量,其中具有類似意義或內容的字組會彼此接近。
Word2Vec和GloVe是熱門的文字內嵌技術。 -
文件:檔案內嵌會將檔表示為向量。
Doc2Vec很適合用來建立檔內嵌。 - 影像:影像可以表示為內嵌,以擷取物件辨識等工作的視覺功能。
內嵌是代表複雜、高維度數據的核心,以機器學習模型可以輕鬆地處理的形式呈現。 其可以根據大型資料集進行訓練,然後作為各種工作的功能來使用。 LLM 會使用它們。
PostgreSQL 可以使用 Azure AI 延伸模組 OpenAI 整合來取得產生向量內嵌的功能。
案例
Generative AI 在各種領域和產業都有廣泛的應用程式,包括技術、醫療保健、娛樂、金融、製造等。 以下是一些人們可以使用產生的 AI 來完成的一些常見工作:
-
語意搜尋:
- Generative AI 可在數據上啟用語意搜尋,而不是語彙搜尋。 後者會尋找與查詢完全相符的結果,而語意搜尋會尋找符合搜尋意圖的內容。
- 聊天機器人和虛擬助理:
- 開發可參與自然內容感知對話的聊天機器人;例如,為客戶實作自助。
- 建議系統:
- 產生項目或使用者的內嵌或表示,以改善建議演算法。
- 叢集和分割:
- 生成式AI生成的嵌入向量可使聚類算法將數據聚類,以便類似的數據被分組在一起。 此叢集可啟用客戶分割等案例,讓廣告客戶根據其屬性以不同的方式鎖定客戶。
- 內容產生:
- 為聊天機器人、小說/詩歌創作和自然語言理解等應用程式產生人類般的文字。
- 為圖形、娛樂和廣告建立逼真的影像、藝術品或設計。
- 為電影、遊戲和行銷產生影片、動畫或視訊效果。
- 產生音樂。
- 翻譯:
- 將文字從一種語言翻譯成另一種語言。
- 摘要:
- 摘要說明要擷取重要資訊的長篇文章或文件。
- 資料增強:
- 產生額外的數據範例,以擴充和改善機器學習模型的定型數據集。
- 針對在真實世界中難以收集或成本昂貴的案例建立綜合資料,例如醫學影像。
- 藥物發現:
- 產生分子結構,並預測藥物研究的潛在藥物候選項目。
- 遊戲開發:
- 建立遊戲內容,包括關卡、角色和構造。
- 產生真實遊戲內環境和景觀。
- 資料去噪和補全
- 產生乾淨的資料範例來清除雜訊資料。
- 在資料集中填入遺漏或不完整的資料。
相關內容
- 整合適用於 PostgreSQL 的 Azure 資料庫與 Azure 認知服務
- 使用適用於 PostgreSQL 的 Azure 資料庫建立 AI
- 整合適用於 PostgreSQL 的 Azure 資料庫與 Azure Machine Learning
- 使用適用於 PostgreSQL 的 Azure 資料庫中的 Azure OpenAI 產生向量內嵌
- 適用於 PostgreSQL 的 Azure 資料庫中的 Azure AI 擴充功能
- 使用適用於 PostgreSQL 的 Azure 資料庫和 Azure OpenAI 建立建議系統
- 使用適用於 PostgreSQL 的 Azure 資料庫和 Azure OpenAI 建立語意搜尋
- 在適用於 PostgreSQL 的 Azure 資料庫中啟用和使用 pgvector