AIGC|AGI究竟是什么?為什么大家都在爭先入場?

一、AI大語言模型進入爆發階段

2022年12月ChatGPT突然爆火,原因是其表現出來的智能化已經遠遠突破了我們的常規認知。雖然其呈現在使用者面前僅僅只是一個簡單的對話問答形式,但是它的內容化水平非常強大,甚至在某些方面已經超過人類了,這是人工智能板塊的重大突破。

近半年來,整個行業都在致力于研發和應用大型模型。這涉及到算力的提升、大型模型算法的優化以及相關語料和數據的準備。行業對此非常關注,各個參與者都鉚足干勁,特別是一些大型企業紛紛下水,擔心被AI浪潮拍在沙灘上。

在這張圖中,我們可以看到一些主要的玩家,比如Meta(即Facebook)、OpenAI和谷歌,以及國內的華為、阿里巴巴和百度。尤其是在大型模型領域,它們都在做相應的投入和研發。最近,有一個名為Stable Diffusion的技術非常令人震撼。它可以讓你無限地放大和縮小一張圖片,甚至將其放大到地球的大小,這對整個行業都是一個巨大的挑戰。

另外值得一提的是Meta,兩年前,Facebook將其名稱改為Meta,并宣布將全力發展元宇宙。但是為什么元宇宙還沒有崛起呢?因為元宇宙需要人們用工具去創造其中的3D內容。但是現在,如果將Stable Diffusion技術與元宇宙技術結合起來,所有的場景都不需要手動創造了。這是非常令人震撼的,也可能會推動元宇宙的爆發。因為在這之前,元宇宙最大的瓶頸就是內容。如果人工智能能夠與之很好地結合并生成內容,對元宇宙的推動將是非常巨大的。所以,我們可以無限地想象這個技術將如何改變我們的生活。

二、什么是大語言模型?

大語言模型是AI中的一個重要組成部分,它主要用于生成內容。我們可以通過這個模型給定一段文字,然后生成相應的文字、圖片或圖生圖,以及將文字轉換為聲音或視頻等等。這個模型的架構被稱為Transformer,它是一種深層次的生成式模型。在卷積神經網絡中,有許多層和參數,通過降維計算和權重來生成每個節點的可能性。雖然理解這個模型可能對于數學不太好的人來說有些復雜,但我們可以大致了解它的工作原理、功能和優勢,以便在后續的應用開發中打下基礎。

總結下來大模型其實就是三塊大的能力:自然語言理解與生成,推理能力以及通識能力。

首先最重要的是自然語言的理解能力。在過去,我們經常進行各種搜索,包括在電商網站上進行搜索。當你在輸入框中輸入想要購買的物品,比如電腦,系統會給你返回一大堆相關的結果。這種搜索的本質是什么呢?其實它是通過給每個商品打上標簽的方式進行的,比如只要是電腦,系統就會給它打上電腦的標簽。當你輸入電腦時,系統會命中所有帶有電腦標簽的商品,然后給你返回搜索結果。所以從本質上說,這種搜索是基于你的輸入進行分詞和命中,而沒有理解你的意圖。

但現在,自然語言理解的技術已經得到了很大的進步,在搜索層面上可以實現更多的功能。我們可能都嘗試過ChatGPT、文心一言等等,當你輸入一段話時,它會給你返回一系列相關的信息。這是因為它真正地理解了你的語言含義,理解了你的意圖,然后才進行相應的操作。所以在搜索方面,實現這種真正的理解并提供相關結果是可能的。

比如你要去購買電腦,你可以對著AI輸入“我是一個程序員,平時主要用來寫Python程序,現在要購買一臺1萬元左右的電腦”,這是會自動給你推薦符合的商品,這就是體驗方式的不一樣。這個模型他理解了你的需求,然后再去完成特定的任務。

第二個很重要的是推理能力。同樣是上文買電腦的例子,我只是描述了我的職業屬性以及使用需求,而大語言模型會根據我提供的信息來推理出我需要購買電腦或者電腦的配件。這是它在基于我的語言理解去做的推理。

很典型的一個例子是ChatGPT-4發布時的一個舉例,將一個有氣球的圖片傳給ChatGPT,這時候你問ChatGPT

“如果我把氣球的繩子剪斷會怎樣?”

“氣球會飛走”

對于人類來說,這些回答很正常,但對于機器來說卻是令人震撼的,這意味著AI已經能夠理解物理世界的一些現象。

例如,當給AI展示一張燒紅的鐵的圖片,并問它如果用手去碰會怎樣,它能回答“你要當心受傷”。這個回答展示了AI的通識能力,它知道燒紅的鐵溫度很高,然后進行推理得出碰到它會受傷的結論,并知道人的手不能碰高溫物體。這些都屬于通識知識,對我們來說很基本。但在這個大型模型出現之前,這個問題一直困擾著科學界很長時間,即使像AlphaGo這樣的強大AI也不知道燒紅的鐵不能用手碰。

但現在這個問題已經得到解決。

三、大語言模型的核心要素

算法和模型是區分大語言模型研發的核心要素。算法和模型影響的模型豐富度、模型準確性、能力涌現等都成為評價大語言模型優劣的核心指標。

目前LLM市場有三大方向,分別是OpenAI、Google和Meta。

ChatGPT的回答更注重模擬人類表達,因此在準確性方面可能會有一定欠缺,有時會出現所謂的“一本正經的胡說八道”,這在專業術語中稱為“幻覺”。相比之下,Google追求100%的準確性,所以它的訓練更加困難。這也解釋了為什么OpenAI先出現并且更快流行,因為它的回答相對更巧妙,難度沒有那么大。

而Meta的LLaMA則是另一條完全不同的路線,它是完全開源并且可以商用的,因此圍繞這一個模型會出現成百上千的模型,很多個人或者大廠都會基于這個模型進行一定的改進,比如ChatGLM等等。

四、如何構建大語言模型

大模型的本質除了是Transformer算法,它還需要進行數據訓練。這與人類類似,孩子出生后就自然擁有了算力,而隨著大腦中的神經元不斷增長,算力也會增強。

無論是對于人類還是對于大模型來說,學習都是一個過程。實質上,對于大模型來說,學習的過程就是消耗數據和語料的過程。在訓練中,所有的數據都被稱為語量。

將大語言模型從一個Transformer算法訓練成一個類似ChatGPT的模型需要經過三步:預訓練、指令微調和RLHF。

預訓練是指進行大量的無監督學習,這個概念可以用一個例子來解釋。就像訓練一個鸚鵡一樣,你給它一個開著的電視,讓它去看,不管電視上放什么內容,只要鸚鵡看著就好。經過一段時間,鸚鵡就會學會很多話。當然,這種訓練資料不是完全隨機,還是會進行一定的選擇。

指令微調是一種技術,通過向模型提供特定的指令或約束來進一步調整模型的行為和生成結果。通常用于去除預訓練過程中不安全數據,這些數據包括但不限于黃賭毒等等違法內容。AI在面對關于違法行為的問題時,會避免回答。同時,指令微調還涉及一些倫理問題,它會盡量排除對人類有害的內容。

然而,傳統數據庫中可以查找到有害數據的位置,但在大模型中,由于存儲的內容太多,不知道具體位置。因此,無法通過窮舉的方式檢查出所有有害內容,特別是在開源大模型中,隱藏的有害內容更難察覺,需要更加小心謹慎。

RLHF是Reinforcement Learning From Human Feedback的縮寫,意為從人類反饋中進行強化學習。這是整個過程的最后一步,引入專家或其他人在不同時間點問同樣的問題,觀察回答的差異,盡管可能有些微差別,但意思可能是一樣的。然后需要評估回答,選擇最好的回答,并給予相應的權重。這實際上是一個強化學習的過程。

五、大模型時代下企業應用痛點

隨著進入大模型時代,越來越多的企業將加入這一浪潮,現有的幾家獨大的局面必將很快被打破。在這個時代,企業應用發展同樣面臨著眾多挑戰。

例如ChatGPT在通識領域表現出很強的能力,這是因為ChatGPT的語料來源于公開網絡,所以它會成長為通識領域的領先選手。

然而,每個行業最專業的資料都是在企業或行業協會的私域中,不對外公開的。所以ChatGPT在回復中經常會存在事實性錯誤,部分原因就是這些特定的行業機密是無法在公有網絡中獲取的。這些行業協會或企業可以使用自己的數據來訓練模型,從而成為該領域的專家,專注解決特定問題。可以預見的是,未來將會有各種大模型涌現,如醫生模型、投資模型、生產制造模型等。我們可以想象將各種大模型與各個行業結合,從而對傳統應用進行重構和升級,實現更好的效果。

另一方面是企業應用面臨著數據和信息泄露的風險。由于AI大模型的應用無法簽訂保密協議,無法保證企業數據的安全性,也無法保證內容不會外流。這給企業帶來了一定的安全隱患和控制風險。

六、大模型究竟能做什么

大模型應用可以輕松生成文字,比如廣告文案、客服等。雖然目前大多數應用將其用于客服問答,但它的能力遠不止于此,特別是在企業場景中,它具有強大的推理和分析能力。例如在自動駕駛領域,人工智能也發揮了重要作用,但目前仍存在100%正確性的問題,因此智能駕駛還不能完全取代人類控制。然而,一旦突破了這一問題,將對整個行業產生顛覆性的影響,釋放出與蒸汽機一樣重要的生產力,實現機器設備的無人駕駛和操控。

我們現在才剛進入大模型時代,更多的應用可能其實還需要不斷地去嘗試挖掘。

七、AI企業應用開發

(一)開發工具及資源

目前我們已經擁有了很多模型,回到我們的本質,我們要開發一些應用,更重要的是如何去運用它們。現在業界有一些框架、思路和工具來開發這些AI應用。在這個過程中,我們可以看到有一些層次順序。最底層是模型的能力,它是不可或缺的,而它的算力則是由CPU支撐,在這之上還有一些框架。

//腳手架

AI應用腳手架軟件是一種用于構建和部署AI應用的工具。它提供了一個基本框架,幫助開發者快速搭建AI應用的基礎結構。

很火的腳手架如AutoGPT和LangChain其實都采用了同一種代理思路,即基于"思維鏈"的循環往復過程。當面對復雜任務時,大模型具備拆解能力,將任務拆解為小任務,并提前包裝好API工具,讓模型知道每個API的功能。整個過程相當于自動化的步驟,模型會根據任務的拆解和工具的匹配來完成相應的任務。

//向量數據庫

在傳統的應用中,我們使用了Claude框架和Java語言。然而,這些還不夠,我們還需要記憶體,也就是關系型數據庫。在AI應用中,它也有相應的記憶體,即向量。在大型模型中,它通過計算來存儲自然的向量,并通過向量來表示各個節點之間的關系。向量數據庫并不是現在才出現的,它的優勢在于處理非結構化的數據,因為我們知道結構化數據對機器來說更友好。非結構化數據是指文檔、文字、聲音、視頻等無固定格式的數據。與之相對的是結構化數據,例如表格或數據庫中的數據。在過去,我們能夠錄制和存儲視頻、音頻等非結構化數據,但一直沒有一種基于這些數據進行計算的方式。

為了解決這個問題,我們引入了向量數據。向量數據庫將現實中的非結構化數據轉化為向量形式,每個數據都成為一個向量。當進行計算時,將數據轉化為向量的原因是它已經變成了數值,可以進行計算。可以計算兩個向量之間的距離,這個距離在向量化過程中具有實際意義,它表示相似度。

例如,如果將兩句話“今天天晴”和“今天天氣很好”存儲在向量數據庫中,它們將成為兩個不同的向量。但是,這兩個向量之間的距離非常接近,通過使用向量引擎將它們向量化,可以得到非常接近的距離。這具有實際意義,可以對非結構化的數據進行大量計算。

//大模型運行環境

大模型通常需要大量的計算資源來進行訓練和推理。強大的硬件算力,如高性能的CPU、GPU或TPU,可以提供更快速和高效的計算能力,加速大模型的運行。較低的算力可能會導致運行速度變慢或無法完成任務。

目前市場上提供的算力服務包括Google Colab、Hugging Face以及國內公有云等等,可為學習和開發提供長期算力支持。

業界中有很多大廠正在努力降低AI和大模型對算力的要求,有人表示這一趨勢符合摩爾定律,將會迅速下降。同時,還有各種算法優化和并行處理的可能性。雖然這些可能超出了我們目前個人的能力范圍,但我們可以關注未來的發展,說不定哪一天在筆記本上都能夠運行。

//大模型獲取方式

獲取想要的大模型非常簡單。像Hugging Face提到的類似于GitHub的開源模型庫,提供了大量的開源數據集和預訓練的大模型。開發者可以直接在這些庫中搜索并下載所需的大模型,然后在本地環境中進行使用和運行。

(二)AI應用架構

各位小伙伴可以關注公眾號“神州數碼云基地”回復關鍵詞【AGI通識及應用開發】獲取原文PPT材料

AI應用的基本框架是用戶輸入在左邊完成后,下方可以連接外部數據庫和向量數據庫。在中間是一個大模型,我們可以通過API的形式調用AI或者國內的文心一言等等來完成任務。另外,我們也可以選擇自己部署一個開源的大模型,例如ChatGPT來進行基礎的開發工作,這已經足夠使用了。

模型層的代理層其實就是一個腳手架,通過代理機制利用大模型理解用戶的需求,并將其切分為多個小任務,然后調用各種已知的工具來完成任務,當然這些工具需要事先告知給代理層。如何告訴工具需要做什么呢?一種常見的方式是通過查詢和調用搜索引擎的API。在這個API中,你只需要用自然語言寫一段話,告訴它你想搜索人、事、物等方面的信息。當大模型在分解任務時,如果某個步驟需要查詢某個人的信息,它會自主地調用這個工具。

注冊過程實際上是將每個現有應用或外部系統的API進行簡單的自然語言包裝,以便在任何時候調用底層機制。它會觀察結果,并根據滿足要求與否來判斷是否繼續執行任務,直到任務完成。

整個機制還配合著向量數據庫,該數據庫專門為個人或特定場景提供服務。在企業場景中,大量的數據都是私有的,無論是結構化還是非結構化的,例如企業文檔、規章制度、報告等都可以存儲在向量數據庫中。這樣這個系統就能夠成為企業私有的定制AI系統,用于回答內部問題。

八、說在最后

在AGI(通用人工智能)時代的到來之際,大模型成為了推動AI技術發展和應用的關鍵驅動力。通過大模型,我們可以探索和實現更加復雜、智能的任務和應用,為人類社會帶來巨大的變革。

正如我們在上文所說,獲取想要的大語言模型已經變得非常簡單。開源模型庫、數據科學平臺、云計算服務以及自行訓練等方式,都為我們提供了豐富的資源和工具,讓我們能夠輕松地學習和探索大模型的世界。

通過學習大語言模型的原理、應用和開發技術,我們能夠更好地理解和應用這一強大的工具。不論是從事研究、開發還是應用,學習和掌握AGI的知識和技能都將為我們的職業發展和個人成長帶來巨大的機會和潛力。

分享者:胡浩文 | 神州數碼云基地 開發總監

版權聲明:本文由神州數碼云基地團隊整理撰寫,若轉載請注明出處。

公眾號搜索神州數碼云基地,回復關鍵詞【AGI通識及應用開發獲取原文PPT材料

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37939.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

運動控制系統::幾篇大佬的文章

運動規劃 - 知乎 (zhihu.com) 運動規劃、運動控制 & 運動感知 - 知乎 (zhihu.com)

電腦屏幕閃爍?別慌!解決方法在這!

“我新買了一臺電腦,還沒用幾天呢,就出現了電腦屏幕閃爍的情況,這讓我感到很煩躁。有什么方法可以解決電腦屏幕閃爍的問題呢?” 使用電腦的過程中,我們不難發現電腦屏幕有時候會出現閃爍的情況,這會導致使用…

在線預覽Word、Excel、PowerPoint等文件

在我們工作時,經常會有在線查看各種不同類型的文件的需要,如Word文檔、Excel表格、PowerPoint幻燈片和PDF等。可以直接在這里預覽:https://www.compdf.com/webviewer/demo Word 文件實現前端預覽 方案一: 使用 XDOC 可以實現預…

vscode|pycharm + docker + python

1,docker run的時候要加上port docker run -it --gpusall -p 2222:22 -v /掛載目錄/:/docker 目錄1/ -v /掛載目錄/:/docker 目錄2/ --namexxx image:v2 /bin/bash 2,docker 內部要安裝ssh 2.1方法命令: apt-get update apt-get install…

使用藍牙外設卻不小心把臺式機電腦藍牙關了

起因 今天犯了一個賊SB的錯誤,起因是藍牙鍵盤突然就不能輸入了(雖然是連接狀態,但是按什么鍵都沒有反應) 原來我的解決方法就是重啟一下電腦,但是那會電腦開了賊多的軟件。我就想重啟也太麻煩了,既然重啟…

Linux版本 centOS 7,java連接mysql

在Linux下 使用java 訪問數據庫 , java 1.7版本, mysql 8.0.33版本, 連接驅動 mysql-connector-java-5.1.49.jar 代碼如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import ja…

C#學習,反射

目錄 C#學習 .NET的體系結構 二次編譯 反射 什么是反射? 什么是Type? 什么是程序集? 反射API: 一,程序集 1, Load 2,LoadFrom 3,LoadFile 二,類型實例 1&a…

SSM中接口+mapper文件(增刪改查)

IActivateInfoDao接口 public interface IActivateInfoDao{//根據用戶id和驗證類型,判斷認證是否已存在ActivateInfo selectByUserIdAndType(Param("userId") String userId, Param("type") String type);//插入int insert(ActivateInfo activ…

一文讀懂c++語言

一文讀懂C語言 C的發展C的設計目標C的特性C的挑戰 C的發展 C是一種通用的、高級的編程語言,它是C語言的擴展。C由Bjarne Stroustrup于1983年首次引入,并在之后的幾十年中不斷發展壯大。C被廣泛應用于各種領域,包括系統開發、游戲開發、嵌入式…

pytest數據驅動(最簡單)

目錄 第一種:通過yaml文件獲取數據(一維列表) 第二種:通過yaml文件獲取數據(二維列表) 第三種:通過yaml文件獲取數據(pytest.fixture) 資料獲取方法 第一種&#xff…

國際騰訊云賬號云核算概述!!

云核算概述 維基百科界說:云核算是一種依據互聯網的新型核算方法,經過互聯網上異構、自治的服務為個人和企業供給按需即取的核算。 云核算描繪的一起特征:云是一種按需運用的服務,運用者只重視服務本身。 云核算作為IT服務形式&am…

四、Linux中cd、pwd以及相對/絕對路徑和特殊路徑符

1、cd命令: cd命令可以切換當前工作目錄,基礎語法是: cd [linux路徑] (1)、打開Linux的命令提示行,當前工作目錄是home,輸入“cd /”,可以切換到根目錄下,在根目錄下輸…

6_AccessKeyId和AccessKeySecret的環境變量配置

系列文章目錄 第1章 Linux安裝Docker 第2章 Docker安裝jdk1.8和MySql 第3章 Docker安裝redis 第4章 Jar包部署Docker 第5章 Docker-compose多服務統一編排管理 第6章 AccessKeyId和AccessKeySecret的環境變量配置 文章目錄 系列文章目錄前言一、WIN系統配置二、LINUX系統配置三…

【go語言學習筆記】05 Go 語言實戰

文章目錄 一、 RESTful API 服務1. RESTful API 定義1.1 HTTP Method1.2 RESTful API 規范 2. RESTful API 風格示例3. RESTful JSON API4. Gin 框架4.1 導入 Gin 框架4.2 使用 Gin 框架4.2.1 獲取特定的用戶(GET)4.2.2 新增一個用戶(POST&am…

【前端 | CSS】align-items與align-content的區別

align-items 描述 CSS align-items 屬性將所有直接子節點上的 align-self 值設置為一個組。align-self 屬性設置項目在其包含塊中在交叉軸方向上的對齊方式 align-items是針對每一個子項起作用,它的基本單位是每一個子項,在所有情況下都有效果&…

SpringBoot復習:(31)Controller中返回的對象是如何轉換成json字符串給調用者的?

首先,SpringBoot自動裝配了HttpMessageConvertersAutoConfiguration這個自動配置類 而這個自動配置類又通過Import注解導入了JacksonHttpMessageConvertersConfiguration類, 在這個類中配置了一個類型為MappingJackson2HttpMessageConverter類型的bean…

vant van-tabs van-pull-refresh van-list 標簽欄+上拉加載+下拉刷新

<template><div class"huibj"><div class"listtab"><!--頂部導航--><div class"topdh"><topnav topname"余額明細"></topnav></div><!--Tab 標簽--><van-tabs v-model"…

Python教程(9)——Python變量類型列表list的用法介紹

列表操作 創建列表訪問列表更改列表元素增加列表元素修改列表元素刪除列表元素 刪除列表 在Python中&#xff0c;列表&#xff08;list&#xff09;是一種有序、可變的數據結構&#xff0c;用于存儲多個元素。列表可以包含不同類型的元素&#xff0c;包括整數、浮點數、字符串等…

配置 yum/dnf 置您的系統以使用默認存儲庫

題目 給系統配置默認存儲庫&#xff0c;要求如下&#xff1a; YUM 的 兩 個 存 儲 庫 的 地 址 分 別 是 &#xff1a; ftp://host.domain8.rhce.cc/dvd/BaseOS ftp://host.domain8.rhce.cc/dvd/AppStream vim /etc/yum.repos.d/redhat.repo [base] namebase baseurlftp:/…

C語言快速回顧(一)

前言 在Android音視頻開發中&#xff0c;網上知識點過于零碎&#xff0c;自學起來難度非常大&#xff0c;不過音視頻大牛Jhuster提出了《Android 音視頻從入門到提高 - 任務列表》&#xff0c;結合我自己的工作學習經歷&#xff0c;我準備寫一個音視頻系列blog。C/C是音視頻必…