深度學習技術的快速發展推動了生成式AI在各個領域的廣泛應用,從音訊處理到視覺理解,再到自然語言生成,生成式AI正以前所未有的速度改變著我們的生活。本文將深入探討生成式AI技術在音訊、視覺和語言領域的最新進展,包括語音合成、音樂生成、音訊編輯、影像分割、深度估計、零樣本學習以及大語言模型的最佳化和佈署。我們將分析這些技術的核心概念、應用案例以及未來發展趨勢,並提供實用的程式碼範例和工具推薦,幫助讀者更好地理解和應用生成式AI技術。此外,文章還將探討大語言模型的記憶體需求和最佳化策略,以及如何構建端對端的檢索增強生成系統。

語音合成

語音合成是指使用電腦生成類別似人類語音的音訊。這項技術在語音助手、自動客服和語音導航等領域有著廣泛的應用。研究人員提出了一種新的語音合成方法,利用深度學習模型生成高品質的語音。

音樂生成

音樂生成是指使用電腦生成音樂。這項技術在音樂創作、廣告和電影等領域有著廣泛的應用。研究人員提出了一種新的音樂生成方法,利用生成對抗網路(GAN)生成高品質的音樂。

音訊編輯

音訊編輯是指使用電腦修改和編輯音訊。這項技術在音樂創作、廣播和電影等領域有著廣泛的應用。研究人員提出了一種新的音訊編輯方法,利用深度學習模型自動編輯音訊。

應用案例

生成音訊技術在各個領域有著廣泛的應用,包括:

  • 語音助手:生成音訊技術可以用於語音助手,提供更自然和更具個人化的語音。
  • 自動客服:生成音訊技術可以用於自動客服,提供更快速和更有效的客服。
  • 音樂創作:生成音訊技術可以用於音樂創作,提供更快速和更有效的音樂創作。
  • 廣告和電影:生成音訊技術可以用於廣告和電影,提供更具創意和更吸引人的音訊。

生成音訊技術具有廣泛的應用前景,包括:

  • 語音識別:生成音訊技術可以用於語音識別,提供更準確和更快速的語音識別。
  • 音樂推薦:生成音訊技術可以用於音樂推薦,提供更具個人化和更準確的音樂推薦。
  • 音訊搜尋:生成音訊技術可以用於音訊搜尋,提供更快速和更有效的音訊搜尋。
內容解密:

上述內容介紹了生成音訊技術的基本概念和應用。生成音訊技術包括語音合成、音樂生成和音訊編輯等。這些技術在語音助手、自動客服、音樂創作和廣告等領域有著廣泛的應用。未來,生成音訊技術將繼續發展和改進,為各個領域提供更好的服務。

  graph LR
    A[生成音訊技術] -->|包括|> B[語音合成]
    A -->|包括|> C[音樂生成]
    A -->|包括|> D[音訊編輯]
    B -->|應用於|> E[語音助手]
    C -->|應用於|> F[音樂創作]
    D -->|應用於|> G[廣告]

圖表翻譯:

上述圖表展示了生成音訊技術的基本概念和應用。圖表中,「生成音訊技術」是核心概念,包括「語音合成」、「音樂生成」和「音訊編輯」等子概念。這些子概念又分別應用於「語音助手」、「音樂創作」和「廣告」等領域。圖表清晰地展示了生成音訊技術的內容結構和應用關係。

生成式AI的快速發展領域

混合專家模型(MoE)

混合專家模型(MoE)是一種新型的神經網路結構,旨在提高模型的效率和效能。與傳統的Transformer模型不同,MoE使用多個專家模型來處理不同的輸入,從而實作更好的平行性和效率。

MoE的優點

  • MoE可以實作更好的平行性,從而提高模型的效率和效能。
  • MoE可以減少模型的引數數量,從而降低模型的計算複雜度。
  • MoE可以實作更好的可擴充套件性,從而支援更大的模型和更複雜的任務。

MoE的應用

  • MoE已經被應用於多個領域,包括自然語言處理、電腦視覺和語音識別。
  • MoE可以用於提高模型的準確性和效率,從而支援更好的決策和預測。

最佳化和量化

最佳化和量化是兩種用於提高模型效率和效能的技術。最佳化技術可以用於減少模型的計算複雜度和記憶體使用量,而量化技術可以用於減少模型的引數數量和計算複雜度。

最佳化技術

  • 最佳化技術可以用於提高模型的效率和效能,從而支援更好的決策和預測。
  • 最佳化技術可以包括多種方法,例如模型剪枝、知識蒸餾和量化訓練。

量化技術

  • 量化技術可以用於減少模型的引數數量和計算複雜度,從而提高模型的效率和效能。
  • 量化技術可以包括多種方法,例如權重量化、啟用函式量化和輸入量化。

資料

資料是機器學習模型的基礎。高品質的資料可以用於提高模型的準確性和效率,從而支援更好的決策和預測。

資料的重要性

  • 資料是機器學習模型的基礎,高品質的資料可以用於提高模型的準確性和效率。
  • 資料可以包括多種型別,例如文字、影像、音訊和影片。

資料的應用

  • 資料可以用於多個領域,包括自然語言處理、電腦視覺和語音識別。
  • 資料可以用於提高模型的準確性和效率,從而支援更好的決策和預測。

一個模型統治所有

一個模型統治所有是一種理念,旨在實作一個模型可以處理所有任務和應用。這種理念可以用於提高模型的效率和效能,從而支援更好的決策和預測。

一個模型統治所有的優點

  • 一個模型統治所有可以實作更好的效率和效能,從而支援更好的決策和預測。
  • 一個模型統治所有可以減少模型的計算複雜度和記憶體使用量,從而提高模型的可擴充套件性。

一個模型統治所有的應用

  • 一個模型統治所有已經被應用於多個領域,包括自然語言處理、電腦視覺和語音識別。
  • 一個模型統治所有可以用於提高模型的準確性和效率,從而支援更好的決策和預測。

電腦視覺

電腦視覺是一個研究領域,旨在使電腦能夠理解和解釋視覺資料。電腦視覺可以用於多個應用,包括影像分類別、物體檢測和影像分割。

電腦視覺的優點

  • 電腦視覺可以實作更好的視覺理解和解釋,從而支援更好的決策和預測。
  • 電腦視覺可以減少人工標注和檢查的工作量,從而提高效率和效能。

電腦視覺的應用

  • 電腦視覺已經被應用於多個領域,包括自駕車、醫學影像分析和安全監控。
  • 電腦視覺可以用於提高模型的準確性和效率,從而支援更好的決策和預測。

影像分割

影像分割是一種將影像中的每個畫素分類別為預先定義的類別的過程。例如,一個訓練於城市照片的分割模型可以預測影像中哪些畫素屬於道路、樹木、行人或汽車。這種分割被稱為語義分割(semantic segmentation),當沒有區分同類別物體的例項時;而當模型可以區分同類別物體的不同例項時,則被稱為全景分割(panoptic segmentation)。

深度估計

深度估計是指根據單張影像估計物體距離的過程,不需要額外的資訊。這被稱為單眼深度估計,以區別於使用立體輸入(兩張影像)或其他型別的額外資料的系統。單眼深度估計在電腦圖形學、3D、遊戲、攝影和藝術任務中非常有用。

零樣本學習

傳統上,影像分類別、檢測和分割模型都是在特定的已知類別上進行訓練的。例如,ImageNet挑戰賽是在1000個類別上進行的(儘管原始資料集包含約22,000個類別)。這導致了可擴充套件性問題:要訓練能夠理解世界的模型,我們需要足夠的訓練資料來涵蓋所有可能的類別和它們之間的細微區別。零樣本任務指的是模型在未經過特定類別訓練的情況下仍能夠執行這些任務的能力。例如,CLIP模型透過從網際網路上下載的影像-文字對來訓練,因此它對通常一起出現的影像和文字特徵有很好的理解。正如我們在第3章所見,訓練好的CLIP模型可以用於將影像分類別為使用者提供的任意類別,而無需在這些類別中進行過訓練。

3D電腦視覺

傳統的電腦視覺主要關注2D資料,如影像和影片,但現在越來越多地關注於理解、解釋和生成3D資料。3D電腦視覺在機器人技術、增強現實、醫療保健、影片製作、遊戲和自動駕駛等領域得到廣泛應用。傳統上,3D資料使用網格表示,即一組定義物體形狀的頂點、邊和麵。但是,機器學習技術通常難以處理網格,促使探索替代表示形式,如神經輻射場(NeRFs)和高斯噴灑。

影片生成

隨著影像生成模型在生成性機器學習中得到廣泛應用,研究影片生成成為了一個自然的延伸。影片本質上是一系列快速移動的影像,創造運動幻覺。因此,一種方法是利用預先訓練的影像生成模型生成時間上和視覺上的一致序列圖片。框架如AnimateDiff推匯出運動先驗 knowledge,以驅動模型如Stable Diffusion生成時間上的一致影片。管道如Deforum建立具有相機控制的動畫,並接受幀變化作為美學的一部分。

多模態

在前面的章節中,我們探討了使用生成模型進行多種模態,如文字、影像和音訊。一些模型,如Stable Diffusion,具有單一模態的輸入條件和輸出模態(在這裡,我們也可以包括文字到語音和語音到文字模型)。但是,通常情況下,多模態指的是單一模型可以同時處理多種模態的輸入或輸出。讓我們來看看多模態領域中一些最近的進展。

CLIP是一種由玄貓引入的模型架構。一旦訓練完成,該模型就可以接受影像和文字作為輸入,並將這些輸入編碼到相同的語義相關向量空間中。這使得模型可以執行廣泛的零樣本任務,如影像分類別和語義比較。

Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation(BLIP)是一種由玄貓引入的框架和模型架構。與CLIP一樣,BLIP是在影像-文字對上進行訓練的,但是該模型被訓練為進一步將輸出解碼為文字。該模型可以接受文字、影像或兩者的多模態輸入,並執行零樣本任務,如影像字幕生成和視覺問題回答。

視覺語言模型(VLMs),有時也稱為視覺大語言模型(VLLMs),可以接受影像和文字作為輸入並提供文字輸出。一個開創性的工作是在這個領域是Flamingo論文,由玄貓提出,但是該模型沒有被釋放出來。開源複製品如IDEFICS存在,但是從頭開始訓練VLMs已經被證明是昂貴的。

社群

正如您在整個章節和書籍中所看到的,機器學習生態系統的步伐正在非常快速地前進。跟上最新研究和發展的最佳方法是成為社群的一部分。有很多方法可以做到這一點,例如加入Discord伺服器或Reddit社群,與他人分享您的工作,閱讀論文,並在X(前身為Twitter)上關注研究人員和從業者。

令人驚訝的是,我們已經從一個所有研究都在傳統實驗室中進行的世界轉變為一個非常重要的研究正在去中心化設定中進行。EleutherAI、Nous Research、BigCode和LAION都是後者的例子,您可以透過加入他們的Discord伺服器輕鬆地參與其中。許多這些社群還舉辦論文閱讀會議、非同步聊天討論和駭客馬拉松。

一些這些社群是由玄貓啟動的。儘管從頭開始訓練大型模型的成本很高,但對於任何對該領域感興趣的人來說,仍然有很多研究和開發機會。現在比以往任何時候都更適合開始探索這個領域。

第十章:生成式AI領域的快速發展

開源工具

本章的成書離不開開源軟體的支援。所討論的主題和大多數機器學習研究都依賴於開源貢獻,同時也使用了開源軟體如Jupyter Notebook、Quarto、nbdev等來構建生產工具鏈。在本附錄中,我們將探索多種開源工具,供機器學習從業者使用。其中一些工具我們在書中已經使用過,而其他工具則值得關注。

Hugging Face堆積疊

在整本章中,你已經熟悉了Hugging Face堆積疊的核心函式庫。這兩個主要函式庫是:

  • transformers:用於訓練和執行根據變換器的模型,支援多模態輸入。它提供了多級抽象,從高階管道和Trainer到支援執行自己的PyTorch訓練迴圈。
  • diffusers:與transformers類別似,diffusers函式庫允許執行預訓練的根據擴散的模型。儘管它主要以影像生成能力而聞名,但該函式庫也支援音訊、影片和3D模型。

這兩個函式庫都具有意見化設計,優先考慮易用性、簡潔性和可定製性。對於終端使用者來說,這意味著什麼?首先,兩個函式庫都旨在提供跨模型的一致規範。不論你使用的是Llama還是Gemma,理想情況下,在它們之間切換只需要修改一行程式碼。雖然兩個函式庫都有許多功能以實作快速推理,但模型始終以最高精確度和最低最佳化載入。這確保了跨平臺的易用性,並避免了複雜的安裝,但也意味著模型在未組態最佳化的情況下會較慢。

另外,Hugging Face還有兩個常用的函式庫:

  • accelerate:允許在分散式環境中執行PyTorch程式碼,既支援訓練也支援推理。不論你想在GPU、多個GPU、GPU上以CPU解除安裝方式執行,還是完全在CPU上執行,accelerate都能抽象掉所有複雜性。它被用於Hugging Face的後端,因此大多數使用者不需要深入學習accelerate的API。
  • peft:該函式庫啟用了引數高效微調技術,以較低的計算和儲存成本對模型進行微調。它與transformers和diffusers函式庫緊密整合。雖然本章主要探討了LoRA,但還有許多其他方法,如p-tuning、prefix tuning、IA3、OFT和DoRA。

資料

開源生態系統中,資料集處理、標註和生成工具已經取得了顯著進展。以下是目前正在建設的部分工具,用於處理資料:

  • datasets:本章大量依賴於datasets函式庫,它是一個流行的函式庫,用於存取、分享和處理多模態的開源資料集。與transformers和diffusers類別似,datasets函式庫提供了一致的API,允許使用者輕鬆地為給定的模態交換資料集。
  • argilla:argilla是一個用於構建高品質資料集的工具。它提供了一個簡單的UI,人們可以在其中評分資料,對於像RLHF這樣的任務(比較模型生成結果)或建立傳統NLP任務(例如實體識別)的資料集以及建立評估資料集非常有用。
  • distilabel:隨著合成資料生成的興起,像distilabel這樣的新工具出現了。它允許建立生成合成資料的管道。

包裝器

隨著生態系統的發展,各種社群和研究工具已經圍繞變換器構建。

大語言模型的最佳化工具

在進行大語言模型的最佳化時,需要使用到各種工具來簡化流程和提高效率。以下是一些常用的工具:

Axolotl

Axolotl是一個用於模型最佳化的工具,允許使用者透過建立一個簡單的組態檔案來設定最佳化任務。它支援常見的資料集格式和模型架構。

Unsloth

Unsloth是一個根據變壓器的快速語言模型最佳化工具,使用最佳化的核心來實作快速最佳化。它提供了一個簡單的API來最佳化模型。

Sentence-Transformers

Sentence-Transformers是一個函式庫,提供了一個簡單的API來計算句子、段落或檔案的嵌入。它支援使用預訓練模型或最佳化自己的模型。

Trl

Trl是一個用於最佳化變壓器和擴散模型的工具,提供了一個簡單的API來進行最佳化和對齊。它支援多種方法,包括監督最佳化、獎勵模型和DPO。

本地推理

開源模型的一個主要優勢是可以在本地硬體上執行,提供了隱私、可定製性和本地整合等優勢。根據用途,以下工具可用於本地推理:

Llama.cpp

Llama.cpp允許在多種硬體上進行大語言模型推理,支援多種量化技術(從1.5位到8位)。它通常用於本地聊天或設定本地端點。

Transformers.js

Transformers.js允許在瀏覽器中直接執行模型,無需伺服器。這對於低延遲和無推理成本的服務佈署或實時字幕等隱私優先使用案例非常有用。

佈署工具

雖然單次查詢的推理可能很簡單,但將大語言模型佈署到生產環境中更為複雜。有多種工具可用,包括:

VLLM

VLLM是一個簡單的函式庫,用於大語言模型服務,靈活且與流行模型整合良好。

TGI

TGI是一個生產就緒的工具包,用於大語言模型佈署。

其他選項包括lmdeploy和NVIDIA的TensorRT-LLM。由於有太多替代方案,您可能會想知道哪一個最適合您。建議您探索它們並找到最適合您使用案例的工具。所有這些工具都處於積極開發中,具有不同的模型覆寫範圍、社群採用率、可擴充套件性、與雲端服務和自託管環境整合等級別。

大語言模型的記憶需求

大語言模型的大小不一,例如Llama 3.1發布了8B、70B和405B版本。要載入和使用大語言模型,需要足夠的記憶來儲存模型。引數數量和精確度等因素會影響大語言模型的記憶需求。

如果您沒有足夠的記憶,可以嘗試以下選項:

  • 減少所使用的模型的精確度。例如,可以使用int8代替float16。
  • 使用較小的模型。有許多高品質的小型模型可供選擇。
  • 解除安裝不使用的模型部分。這可以透過CPU RAM解除安裝實作,這是一種常見的技術,用於減少模型的記憶需求,但會犧牲推理速度。

如果記憶不足,可以將剩餘的模型部分儲存在磁碟中,並根據需要載入。幸運的是,accelerate函式庫透過device_map=“auto"自動解除安裝模型部分。

推理記憶需求

可以粗略估計記憶需求如下:

GPU記憶需求 = 引數數量 × 每個引數的位元組數

每個引數的位元組數取決於使用的精確度。表B-1顯示了使用不同精確度(float32、float16、int8、int4和int2)載入2B、8B、70B和405B模型所需的記憶。

大語言模型(LLM)的記憶體需求

大語言模型(LLM)需要大量的記憶體來執行,尤其是在訓練和推理階段。下面是一些大語言模型的記憶體需求估算:

  • 2B引數模型:8 GB
  • 8B引數模型:32 GB
  • 70B引數模型:280 GB
  • 405B引數模型:1.62 TB

這些估算是根據模型的引數數量和記憶體需求的粗略估計。實際的記憶體需求可能會因為模型的實作細節、批次大小、輸入序列長度等因素而有所不同。

訓練記憶體需求

訓練大語言模型的記憶體需求更加複雜,取決於模型的實作細節、批次大小、輸入序列長度等因素。下面是一些訓練記憶體需求的粗略估算:

  • 8B引數模型:60 GB(全精確度微調)、16 GB(LoRA)、6B GB(QLoRA)
  • 70B引數模型:500 GB(全精確度微調)、160 GB(LoRA)、48 GB(QLoRA)
  • 405B引數模型:3.25 TB(全精確度微調)、950 GB(LoRA)、250 GB(QLoRA)

這些估算是根據模型的引數數量和記憶體需求的粗略估計。實際的記憶體需求可能會因為模型的實作細節、批次大小、輸入序列長度等因素而有所不同。

端對端檢索增強生成

端對端檢索增強生成是一種使用大語言模型和預訓練句子轉換器來生成內容的方法。這種方法涉及以下步驟:

  1. 使用者輸入一個問題。
  2. 管道檢索出最相似的檔案。
  3. 管道將問題和檢索出的檔案傳遞給大語言模型。
  4. 管道生成一個回應。

這種方法可以用於生成內容,例如回答問題或生成文章。下面是一個簡單的管道示意圖:

                      +---------------+
                      |  使用者輸入  |
                      +---------------+
                             |
                             |
                             v
                      +---------------+
                      |  檢索檔案  |
                      +---------------+
                             |
                             |
                             v
                      +---------------+
                      |  大語言模型  |
                      +---------------+
                             |
                             |
                             v
                      +---------------+
                      |  生成回應  |
                      +---------------+

這種方法需要一個預訓練的大語言模型和一個預訓練的句子轉換器。可以使用Chapter 2中介紹的文字生成方法和Chapter 6中介紹的最小RAG管道來實作這種方法。

處理資料

在任何機器學習(ML)專案中,第一步都是載入和處理資料。為了簡單起見,讓我們想像一下,我們想要模型生成與歐盟人工智慧法案(European Union AI Act)相關的內容,這個法案不太可能是大語言模型(LLM)的訓練資料的一部分,因為我們使用的模型是在人工智慧法案工作開始之前訓練的。首先,我們將載入檔案:

import urllib.request

# 定義檔名稱和URL
file_name = "The-AI-Act.pdf"
url = "https://example.com/The-AI-Act.pdf"  # 請替換為實際的URL

# 下載檔案
urllib.request.urlretrieve(url, file_name)

print(f"{file_name} 下載成功。")

檔案下載成功後,下一步是將檔案分割成較小的塊,以便於處理。每個塊將是一個獨立的檔案,我們將比較使用者輸入與這些檔案。為了簡單起見,我們將使用langchain函式庫提供的一些預處理工具,langchain是一個提供實用函式來建立RAG系統的函式庫。例如,它有一個方便的PyPDFLoader類別,可以從PDF中提取文字並處理分塊。

from langchain_community.document_loaders import PyPDFLoader

loader = PyPDFLoader(file_name)
docs = loader.load()
print(len(docs))  # 輸出:108

PyPDFLoader將PDF分割成每頁一個檔案,導致這裡有108個檔案。我們將這些檔案進一步分割成更小的塊。langchain函式庫提供了不同的類別來幫助不同的文字分割。我們將使用RecursiveCharacterTextSplitter,它有兩個關鍵引數:

  • chunk_size:每個塊的字元數。一般來說,與嵌入模型可以處理的最大令牌數相關聯是個好主意,否則您可能會遇到檔案的一部分被截斷的情況。
  • chunk_overlap:每個塊與前一個塊重疊的字元數。這對於避免在句子中間分割很有用。我們將其任意設定為100個字元(是我們選擇的塊大小的五分之一)。
from langchain_text_splitters import RecursiveCharacterTextSplitter

text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=100)

內容解密:

上述程式碼負責下載歐盟人工智慧法案的PDF檔案,並使用langchain函式庫將其分割成較小的塊,以便於後續的處理。這些塊將被用於比較使用者輸入,以生成相關內容。

圖表翻譯:

  flowchart TD
    A[開始] --> B[下載檔案]
    B --> C[分割檔案]
    C --> D[比較使用者輸入]
    D --> E[生成相關內容]

此圖表展示了整個過程的流程,從下載檔案到生成相關內容。每一步驟都對應到程式碼中的特定部分,展示瞭如何使用langchain函式庫來實作RAG系統。

檔案分割與嵌入

檔案分割是一種將大型檔案分解為小型、可管理的塊的過程。這些塊可以用於訓練和最佳化自然語言處理(NLP)模型。在這個例子中,我們使用了一個名為 text_splitter 的工具來分割檔案,將其分成大小為 chunk_size=500 個字元的塊,並且每個塊之間有 chunk_overlap=100 個字元的重疊。

chunk_size=500, chunk_overlap=100
chunks = text_splitter.split_documents(docs)

這個過程生成了一系列的塊,每個塊代表檔案的一部分。接下來,我們需要計算這些塊的嵌入(embedding),以便能夠比較和查詢相關的塊。

嵌入計算

嵌入是指將文字轉換為數值向量,以便能夠使用數學運算進行比較和查詢。這裡,我們使用了一個預訓練的句子轉換模型(sentence transformer model)來計算嵌入。

from sentence_transformers import SentenceTransformer, util

sentences = ["I'm happy", "I'm full of happiness"]
model = SentenceTransformer("BAAI/bge-small-en-v1.5")

embedding_1 = model.encode(sentences[0], convert_to_tensor=True)
embedding_2 = model.encode(sentences[1], convert_to_tensor=True)

這個模型輸出了一個單一的嵌入向量,代表整個句子的語義含義。然後,我們可以使用餘弦相似度(cosine similarity)來比較這些嵌入向量。

util.pytorch_cos_sim(embedding_1, embedding_2)

餘弦相似度是一種衡量兩個向量之間相似程度的指標,範圍從 -1 到 1,其中 1 表示完全相似,-1 表示完全不相似。

應用場景

這種檔案分割和嵌入計算的技術可以應用於許多場景,例如:

  • 檔案查詢:透過計算檔案的嵌入,可以快速查詢相關的檔案。
  • 檔案分類別:透過計算檔案的嵌入,可以將檔案分類別為不同的類別。
  • 檔案摘要:透過計算檔案的嵌入,可以自動生成檔案的摘要。

總之,檔案分割和嵌入計算是 NLP 中的一種重要技術,能夠有效地處理和分析大型檔案。

從技術架構視角來看,本文深入探討了生成式 AI 的快速發展領域,涵蓋了混合專家模型 (MoE)、最佳化與量化技術、資料的重要性、通用模型的理念、電腦視覺的進展,以及影像分割、深度估計、零樣本學習、3D 電腦視覺、影片生成和多模態等前沿技術。分析各項技術的優缺點及應用場景,可以發現,生成式 AI 正朝著更高效、更精確、更具泛化能力的方向發展。目前,雖然大型模型的訓練成本高昂,但開源工具和社群的蓬勃發展降低了技術門檻,為更多研究者和開發者提供了參與其中的機會。展望未來,隨著模型架構的持續最佳化、訓練資料的品質提升,以及跨領域技術的融合,預計生成式 AI 將在更多領域展現出驚人的應用潛力,並深刻改變人類的生產生活方式。玄貓認為,積極投入開源社群,掌握前沿技術趨勢,將是未來技術發展的關鍵。對於資源有限的團隊,建議優先關注引數高效微調技術(如 LoRA 和 QLoRA)以及開源模型的本地佈署,以最大化資源利用效率。