玩轉(zhuǎn)大模型!用Replicate一鍵部署
Replicate是一個(gè)云端的機(jī)器學(xué)習(xí)模型運(yùn)行平臺(tái)。它可以讓用戶使用云端API 直接運(yùn)行機(jī)器學(xué)習(xí)模型,而無(wú)需了解復(fù)雜的機(jī)器學(xué)習(xí)模型內(nèi)部構(gòu)造。
Replicate允許用戶在Python或Jupyter Notebook中運(yùn)行模型,并在云端進(jìn)行模型的部署和調(diào)優(yōu)。你可以用它運(yùn)行他人發(fā)布的開(kāi)源模型,也可以打包并發(fā)布自己的模型。使用Replicate,你只需一行代碼就可以生成圖像、運(yùn)行和調(diào)優(yōu)開(kāi)源模型,以及部署自定義模型。通過(guò)在Python代碼中調(diào)用Replicate的API,你可以在Replicate上運(yùn)行模型,并獲取模型的預(yù)測(cè)結(jié)果。
模型預(yù)測(cè)如何工作
無(wú)論何時(shí)運(yùn)行一個(gè)模型,都是在創(chuàng)建一個(gè)模型預(yù)測(cè)。模型預(yù)測(cè)是使用建立的模型對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)的過(guò)程。在模型預(yù)測(cè)中,我們使用已經(jīng)訓(xùn)練好的模型來(lái)預(yù)測(cè)未知數(shù)據(jù)的結(jié)果。這個(gè)過(guò)程可以通過(guò)輸入新數(shù)據(jù)到模型中,并獲得模型的輸出來(lái)完成。
有些模型運(yùn)行速度很快,幾毫秒內(nèi)就能返回結(jié)果。另外一些模型運(yùn)行時(shí)間較長(zhǎng),尤其是生成模型,比如根據(jù)文本提示生成圖像的模型。
對(duì)于這些運(yùn)行時(shí)間較長(zhǎng)的模型,你需要輪詢 API 來(lái)檢查預(yù)測(cè)的狀態(tài)。模型預(yù)測(cè)可以有以下任何一種狀態(tài):
- 開(kāi)始:預(yù)測(cè)正在啟動(dòng)。如果該狀態(tài)持續(xù)的時(shí)間超過(guò)幾秒鐘,那么通常是因?yàn)檎趩?dòng)一個(gè)新的線程來(lái)運(yùn)行預(yù)測(cè)。
- 處理:模型的 predict() 方法正在運(yùn)行。
- 成功:預(yù)測(cè)成功完成。
- 失?。侯A(yù)測(cè)在處理過(guò)程中遇到錯(cuò)誤。
- canceled(取消):用戶取消了預(yù)測(cè)。
登錄后,你可以在儀表板上查看預(yù)測(cè)列表,其中包含狀態(tài)、運(yùn)行時(shí)間等摘要:
如何在瀏覽器中運(yùn)行模型
你可以使用云端 API 或網(wǎng)頁(yè)瀏覽器在 Replicate 上運(yùn)行模型。網(wǎng)頁(yè)能讓你直觀地看到模型的所有輸入,并生成一個(gè)表單,可直接從瀏覽器運(yùn)行模型,如下所示:
如何使用 API 運(yùn)行模型
網(wǎng)頁(yè)非常適合用來(lái)理解模型,但當(dāng)你準(zhǔn)備將模型部署到聊天機(jī)器人、網(wǎng)站或移動(dòng)應(yīng)用中時(shí),API 就能發(fā)揮作用了。
Replicate的HTTP API 可與任何編程語(yǔ)言配合使用,而且還有 Python、JavaScript 和其他語(yǔ)言的客戶端庫(kù),讓 API 的使用更加方便。
使用 Python 客戶端,只需幾行代碼即可創(chuàng)建模型預(yù)測(cè),首先安裝Python庫(kù):
pip install replicate
通過(guò)在環(huán)境變量中設(shè)置令牌來(lái)進(jìn)行身份驗(yàn)證:
export REPLICATE_API_TOKEN=<paste-your-token-here>
然后你可以通過(guò) Python 代碼在 Replicate 上運(yùn)行任何開(kāi)源模型。下面的示例運(yùn)行了 stability-ai/stable-diffusion:
import replicate
output = replicate.run(
"stability-ai/sdxl:39ed52f2a78e934b3ba6e2a89f5b1c712de7dfea535525255b1aa35c5565e08b",
input={"prompt": "An astronaut riding a rainbow unicorn, cinematic, dramatic"}
)
# ['https://replicate.delivery/pbxt/VJyWBjIYgqqCCBEhpkCqdevTgAJbl4fg62aO4o9A0x85CgNSA/out-0.png']