
9 個(gè)用于英國(guó)、歐盟和全球驗(yàn)證的增值稅 API
因?yàn)闊o(wú)論學(xué)習(xí)什么,總是要先鳥瞰全局,再循序漸進(jìn),反正我是這么學(xué)的,有先學(xué)后學(xué),但是更重要的先入門,對(duì)體系中的每一個(gè)部分都有一個(gè)最基本的知識(shí),然后是不斷循環(huán),不斷深入。
對(duì)于我們大部分人來(lái)說(shuō),我們學(xué)大模型,要么是為了微調(diào),要么是為了應(yīng)用開發(fā)。
然而,原理仍然很重要。
尤其是當(dāng)你學(xué)到微調(diào)的時(shí)候,如果不了解底層原理,你根本無(wú)法理解各種微調(diào)的區(qū)別(比如說(shuō)面試官可能問(wèn)你Lora和Adapter的區(qū)別),那你也就更不可能輕松的理解更新的架構(gòu)為什么這樣或者那樣去設(shè)計(jì)。
做應(yīng)用開發(fā)也是。為什么要打扎實(shí)原理基礎(chǔ) – 因?yàn)?strong>不深刻了解原理,你用LLM來(lái)做應(yīng)用的時(shí)候心里就沒(méi)底。
當(dāng)我們心中有了一個(gè)技術(shù)地圖,那么剩下的,更深入的東西就可以一點(diǎn)點(diǎn)地往這個(gè)技術(shù)地圖里面安插。那么當(dāng)一個(gè)新的技術(shù)又突然來(lái)臨時(shí),因?yàn)槟阈刂幸延星疔郑阋簿蜎](méi)有那么焦慮了。
我們要從語(yǔ)言模型的定義和起源開始去理解到底什么是大語(yǔ)言模型,看看它是怎樣一步一步進(jìn)化到今天這個(gè)狀態(tài)的。
語(yǔ)言模型是一種用于計(jì)算和預(yù)測(cè)自然語(yǔ)言序列概率分布的模型,它通過(guò)分析大量的語(yǔ)言數(shù)據(jù)來(lái)推斷和預(yù)測(cè)語(yǔ)言現(xiàn)象,為自然語(yǔ)言上下文相關(guān)的這種特性來(lái)建立數(shù)學(xué)模型。簡(jiǎn)單地說(shuō),它可以根據(jù)給定的上下文,預(yù)測(cè)接下來(lái)的單詞。
常見的語(yǔ)言模型n-Gram模型、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型、長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)模型,以及現(xiàn)在非常流行的基于Transformer架構(gòu)的預(yù)訓(xùn)練語(yǔ)言模型(Pre-trained Language Model,PLM),如BERT、GPT系列等,本質(zhì)上都是語(yǔ)言模型。
以我個(gè)人的經(jīng)驗(yàn)來(lái)看,對(duì)語(yǔ)言模型的原理,了解到科普的程度是遠(yuǎn)遠(yuǎn)不夠的,手撕幾次Transformer框架,無(wú)論對(duì)于后續(xù)做應(yīng)用開發(fā),還是做微調(diào),或者是去面試,都是很有好處的。
那么具體到我們每個(gè)人,每一個(gè)企業(yè),我們打開,也就是解鎖大模型能力的方式有哪幾種呢?
第一個(gè)就是從頭訓(xùn)練出屬于你自己的企業(yè)大模型。
第二個(gè)就是基于基礎(chǔ)模型,微調(diào)一部分參數(shù)。二者的區(qū)別在于數(shù)據(jù)的數(shù)量需求不同。
那么第三個(gè)相對(duì)比較成熟的就是RAG應(yīng)用。通過(guò)企業(yè)知識(shí)庫(kù)來(lái)構(gòu)建檢索增強(qiáng)功能。
第四個(gè)就是尚未完全成熟但是大家都在探索的Agent技術(shù)。
核心內(nèi)容就是找到屬于你自己的應(yīng)用場(chǎng)景。
具體到大語(yǔ)言模型的應(yīng)用場(chǎng)景,有兩個(gè)維度,一個(gè)是當(dāng)前進(jìn)展,也就是落地的難度。難度小,進(jìn)展就大。
有些場(chǎng)景是很難落地的,但是潛在價(jià)值卻很大。比如如何讓AI進(jìn)行智能化的決策,也就是AI Agent的應(yīng)用,大家還都在摸索之中。
上圖中的這些技術(shù),都是進(jìn)軍大模型應(yīng)用開發(fā)的良好切入點(diǎn)。
LangChain、LlamaIndex、Semantic Kernel 和 OpenAI API 都是為了加強(qiáng)與大型語(yǔ)言模型(LLMs)的交互而設(shè)計(jì)的開發(fā)工具,它們?cè)谔攸c(diǎn)和用途上各有側(cè)重。
在選擇這些工具時(shí),重要的是考慮您的具體需求:如果項(xiàng)目側(cè)重于數(shù)據(jù)驅(qū)動(dòng)的交互和多數(shù)據(jù)源集成,LangChain可能是更好的選擇。如果需要高效的數(shù)據(jù)索引和檢索,LlamaIndex將非常適合。而如果希望在多種編程環(huán)境中快速集成語(yǔ)言模型,或者需要與Microsoft的工具和服務(wù)無(wú)縫協(xié)作,Semantic Kernel可能更加合適。對(duì)于直接訪問(wèn)最新的語(yǔ)言模型并快速部署文本相關(guān)應(yīng)用,OpenAI API則提供了一個(gè)非常直接和強(qiáng)大的選項(xiàng)。—— 對(duì)于我個(gè)人來(lái)說(shuō),現(xiàn)在我經(jīng)常使用OpenAI API(或者其它任何國(guó)內(nèi)LLM的API)直接創(chuàng)建LLM應(yīng)用。
我們把所有能夠感知環(huán)境、做出決策并采取行動(dòng)的實(shí)體或系統(tǒng)視為人工智能領(lǐng)域中的Agent。
Agent能夠自主推理。
Agent能夠調(diào)用工具。
許多大型語(yǔ)言模型(LLM)的應(yīng)用需要使用用戶特定的數(shù)據(jù),而這些數(shù)據(jù)并不是模型訓(xùn)練集的一部分。實(shí)現(xiàn)這一點(diǎn)的主要方法是通過(guò)檢索增強(qiáng)生成(RAG)。在這個(gè)過(guò)程中,會(huì)檢索外部數(shù)據(jù),然后在生成步驟中傳遞給LLM。
RAG在基于LLM的應(yīng)用開發(fā)中地位不低,堪稱AI大模型落地應(yīng)用第一站。
RAG的實(shí)現(xiàn)架構(gòu)如下。
RAG 的工作原理可以分為如下兩個(gè)主要部分:
那么,遇到行業(yè)相關(guān)的LLM應(yīng)用,做RAG,還是做微調(diào),這是一個(gè)問(wèn)題!
有論文指出——相對(duì)于做微調(diào)來(lái)說(shuō),RAG其實(shí)是性價(jià)比更高的選擇。
設(shè)計(jì)出產(chǎn)品級(jí)別的RAG系統(tǒng)并非易事,有很多工程細(xì)節(jié)需要思考。比如說(shuō),如果幾十萬(wàn)甚至上百萬(wàn)文檔,如何還能高效檢索。在文檔切片時(shí),如何保留前后上下文。
此時(shí)我們的確需要一些高級(jí)技巧,以及實(shí)戰(zhàn)經(jīng)驗(yàn)的總結(jié)和積累。有效地選擇Embedding模型,優(yōu)秀的向量數(shù)據(jù)庫(kù),優(yōu)化的索引和檢索方案,以及強(qiáng)大的生成模型都是必不可少的。
對(duì)于這個(gè)問(wèn)題,就更不是幾句話可以說(shuō)清楚的了。
佳哥希望有機(jī)會(huì)帶著你,做一些LLM微調(diào)/量化和加速框架的項(xiàng)目實(shí)戰(zhàn)。
從新技術(shù)的爆發(fā)周期來(lái)看,AI革命正逢其時(shí),這是技術(shù)帶給我們每一個(gè)人的千載難逢的良機(jī)。AI應(yīng)用的爆發(fā)期可能還需要2-3年的時(shí)間,killer app暫時(shí)沒(méi)有進(jìn)入大眾用戶人群是符合客觀規(guī)律的。
桌面程序時(shí)代,互聯(lián)網(wǎng)時(shí)代,移動(dòng)互聯(lián)網(wǎng)時(shí)代,都催生了大量獨(dú)角獸,唯獨(dú)AI時(shí)代,仍然有大量空白區(qū)域虛位以待。——?這是我們程序員、開發(fā)人員、產(chǎn)品經(jīng)理,每一個(gè)IT人的機(jī)會(huì)。
原文轉(zhuǎn)自 微信公眾號(hào)@咖哥AI
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)