日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Stanford Alpaca (羊驼):ChatGPT 学术版开源实现

發布時間:2024/3/13 编程问答 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Stanford Alpaca (羊驼):ChatGPT 学术版开源实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Stanford Alpaca (羊駝):ChatGPT 學術版開源實現

文章目錄

  • Stanford Alpaca (羊駝):ChatGPT 學術版開源實現
    • 前言介紹
    • Alpaca 在線體驗
      • 查語病
      • 寫代碼
      • 連續對話能力
    • 原理簡要分析
    • 一些有意思的觀察
    • 總結

前言介紹

最近 ChatGPT 大熱,讓人驚嘆其強大的對話、上下文理解、代碼生成等等能力,3 月 15 日 OpenAI 又放出了能實現圖像理解的多模態大模型 GPT-4,直讓人感覺通用人工智能 (AGI)仿佛離自己不遠了。有生之年看到人類命運共同體能有這樣的進展我是由衷的高興,并不自覺地給 OpenAI 點了一個贊:

但另一方面由于 GPT 系列模型 & ChatGPT 均未開源,再加上高昂的訓練成本所構成的堅不可摧的護城河,讓普通人 & 公司望而卻步,說實話,還是挺讓人焦慮的。當然焦慮的不止國內的研發人員,今天驚喜的發現斯坦福大學開源了學術版的 ChatGPT, 他們命名為 Alpaca (羊駝,沒錯,說的就是神獸),目前放出了在線體驗網址、數據生成代碼、訓練過程和超參,不久就會放出模型權重參數以及完整的訓練代碼。詳情如下:

  • 在線體驗網址:https://alpaca-ai-custom2.ngrok.io/
  • 模型介紹文章:https://crfm.stanford.edu/2023/03/13/alpaca.html Alpaca: A Strong Instruction-Following Model
  • Github 代碼地址:https://github.com/tatsu-lab/stanford_alpaca

代碼剛放出來不久,我先 mark 一下,趁代碼量還比較少的時候趕緊看看,否則后面代碼越多看不過來🤣。簡單看了下這個開源庫,發現一些挺有意思的現象,待會分享,先說下 Alpaca 的體驗。

Alpaca 在線體驗

查語病

比如寫這篇文章的時候,突然不清楚上文寫的 “再加上高昂的訓練成本所構成的堅不可摧的護城河” 一句是否有語病,我就嘗試把它扔給 Alpaca 替我檢查一下,測試其智能程度,此外再驗證下它是否能識別中文,效果如下:

第一個紅框中輸入我的問題,第二個紅框是 Alpaca 的回答,它不僅指出 “堅不可摧的護城河” 沒有語病,還把這句話翻譯了一下。保險起見我還到 Google 中搜了一下,確認有句子是這樣用的,那我只能默認它是對的 🤣。

另外注意到第二個紅框下還有 “Upvote response” 和 “Downvote response” 兩個按鈕,用來給回答進行反饋。

寫代碼

給它出了一道簡單的編程題,LeetCode 中的鏈表反轉問題,讓它用 Python 實現一下:

居然寫對了,能運行🤣!算是一個小驚喜。說明這個模型雖然輕便,但也有足夠強的能力。

連續對話能力

為了測試 Alpaca 的連續對話能力,我仍然從代碼的角度進行提問;我首先讓它寫非常簡單的 python 代碼,可能 5 ~ 10 行的樣子,它順利的完成了:

之后我讓它將代碼寫復雜一些,我在提問的時候說的是 “make it more complex”, 其中 “it” 需要它理解了上下文,才能知道我指的是它前面所寫的簡單代碼:

我表揚它 “Good”,它還回我一句 “Perfect”,商業互吹這是… 但是回復的時候偷懶,只給了思路,但是沒有具體的 code, 因此我決定 CPU 它一下:“Talk is cheap, show me the code”:

果然,它給了一個稍微復雜的 code… 還挺好玩。

功能體驗就介紹到這。

原理簡要分析

Alpaca 本身的介紹 blog:https://crfm.stanford.edu/2023/03/13/alpaca.html 其實說的非常清晰了,模型的訓練流程基本可以用下圖來概括:

它使用 52K 個 intruction-following examples 來微調 Meta 的大語言模型 LLaMA 7B (Meta 開放了模型權重以及 Inference 代碼,詳見 https://github.com/facebookresearch/llama),從而生成了 Alpaca 7B。

但是這 52K 個 intruction-following examples 是如何生成的呢?Alpaca 團隊使用 https://github.com/yizhongw/self-instruct 提供的 175 個 seed tasks,這些 seed tasks 長這樣:

調用 OpenAI 的 text-davinci-003 模型,利用 OpenAI 的模型來產生有價值的 instructions!

不得不說,有點機智,這種方式很像蒸餾訓練啊。將 OpenAI 性能完備的模型作為 Teacher,來指導參數更少的 Alpaca 模型進行訓練,大幅降低了訓練成本 。其中調用 OpenAI API 的成本不到 500 美刀,另外微調 7B 參數的 LLaMA 模型,使用云服務商提供的 8 塊 80GB A100 顯卡,訓練 3 小時,消費不到 100 美刀。因此整體成本是小于 600 美刀。

相對來說,確實方便了獨立的研究人員、學術機構以及大部分公司。

一些有意思的觀察

在前言中曾說查看 https://github.com/tatsu-lab/stanford_alpaca 這個庫時發現一些有意思的現象。那是因為我在 PR (https://github.com/tatsu-lab/stanford_alpaca/pull/24) 中發現,這些研發人員看東西都超細致…

比如上面小哥發現 prompt.txt 行號標錯了:

這都能注意到,當時我就震驚了!也許是運行代碼時發現的錯誤也說不定,but never mind。

總結

本文簡要介紹了 Alpaca, 一個關于 ChatGPT 的學術版開源實現。最近想復現 ChatGPT 的工作有很多,我目前關注的幾個除了 Alpaca, 還有:

  • OpenChatKit: https://github.com/togethercomputer/OpenChatKit
  • ChatRWKV: https://github.com/BlinkDL/ChatRWKV

好想自己有多個分身,以有涯隨無涯,殆矣!

最后:可以在微信中搜索 “珍妮的算法之路” 或者 “world4458” 關注我的微信公眾號, 可以及時獲取最新原創技術文章更新. 🤣

總結

以上是生活随笔為你收集整理的Stanford Alpaca (羊驼):ChatGPT 学术版开源实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。