虎博TigerBot已升級:評測表現(xiàn)超主流大模型30% 可開啟聯(lián)網搜索

近日,虎博科技滿懷誠意地發(fā)布TigerBot V2,涉及基座模型、chat模型、產品升級、 TigerBot-API升級等多個方面的更新。此次,虎博科技將同步共享TigerBot發(fā)布的具體內容和訓練過程中的一些科學和工程的探索結果,與大模型開發(fā)者們一同推動AIGC的繁榮。

如想率先體驗虎博科技TigerBot的新版本,可通過以下地址前往:

TigerBot demo 在線體驗:https://tigerbot.com/chat

Github 項目: https://github.com/Tigerye/TigerBot

更新一:基座模型經評測已超部分主流開源模型近30%

虎博科技的TigerBot-7b-base-v2(基座模型)在1.5TB多語言數(shù)據(jù)上充分訓練,千卡耗時一個月,投入算力成本約300萬,在OpenAI采用的公開NLP 7項任務評測中,超過同等LLaMA、Bloom等主流開源模型達15%-30%。虎博科技團隊認為,TigerBot的base-v2是業(yè)內同等大小模型里能力最強的base model之一,適合各領域開發(fā)者以此為基礎繼續(xù)預訓練或者監(jiān)督微調。

圖1: 虎博科技TigerBot-7b-base-v2在public NLP 7 tasks evaluation performance

圖2: 虎博科技TigerBot-7b-base-v2預訓練數(shù)據(jù)分布

圖3: 虎博科技TigerBot-7b-base-v2預訓練loss收斂曲線

更新二:chat模型經9項公開語料測評,效果提升 9.3%

使用虎博科技TigerBot-7b-base-v2 經過有監(jiān)督微調的chat model,在2000萬(20G) 高質量清洗和配比的微調指令數(shù)據(jù)集上充分訓練,在9項公開語料next-token prediction accuracy測評上優(yōu)于TigerBot-7b-sft-v1版本9.3%,loss drop by 35%?;⒉┛萍紙F隊認為,TigerBot-7b-sft-v2是業(yè)內同等大小模型里能力最強的chat model之一,適合各領域應用開發(fā)者以此為基礎開發(fā)問答、摘要、生成等任務的應用。

圖4: 虎博科技TigerBot-7b-sft-v2在public NLP 9 tasks evaluation performance

圖5:虎博科技TigerBot-7b-sft-v2訓練數(shù)據(jù)分布

圖6: 虎博科技TigerBot-7b-sft-v2訓練loss收斂曲線

TigerBot-7b-sft-v2的chat樣例如下所示:

圖7: 虎博科技TigerBot chat展示

更新三:產品升級——搜索模式和流式生成提升體驗感

產品方面,因新版開啟了搜索模式和流式生成,使用虎博科技的TigerBot產品也有了新的體驗?;⒉┛萍冀Y合了互聯(lián)網搜索和工具(如天氣,股價,計算器等),打開了LLM+Search的應用場景,適合有實時信息查詢需求的應用。同時開放的chat-api也支持搜索和流式模式的開關,如下圖所示:

圖8: 虎博科技TigerBot搜索模式頁面示例

更新四:TigerBot-API升級,更多調用選擇

虎博科技全面升級TigerBot-API,讓使用者有了更多工具選擇?;⒉┛萍奸_放出LLM應用開發(fā)常用的工具,通過簡單的API調用即可快速實現(xiàn)相關應用。API包括LLM下的chat, plugin, finetune, Text下的embedding, summarization, pdf2text, Visio下的text2image。API使用示例如下展示:

圖9: 虎博科技TigerBot-API示例展示

TigerBot V2訓練中的科學與工程探索

1. data quality or data volume ?

虎博科技創(chuàng)始人陳燁始終堅信數(shù)據(jù)的質量比數(shù)據(jù)的數(shù)量更重要,尤其是中文網絡數(shù)據(jù),TigerBot模型是在v1基礎上繼續(xù)預訓練?;⒉┛萍紙F隊通過實驗發(fā)現(xiàn),模型本身有很強的學習和記憶能力,少到數(shù)十條低質量的數(shù)據(jù)就會讓模型學到,導致不理想的回答風格。這里的低質量數(shù)據(jù)包括:網絡口語詞、社區(qū)論壇等的jargon、敏感和有害的內容(harmness)、廣告類、格式不規(guī)范的內容?;⒉┛萍紙F隊通過規(guī)則和模型過濾掉~10%的低質量數(shù)據(jù)。其中針對敏感、涉黃、不符合主流價值觀的內容,虎博團隊選擇用三個SOTA內容審核模型ensemble來過濾。

虎博科技團隊采用以下步驟和算法清洗數(shù)據(jù),以在O(n^2)的復雜度下獲得高質量數(shù)據(jù):

(1)先用規(guī)則去掉雜亂數(shù)據(jù),例如instruction全是標點符號或者數(shù)字的,

(2)然后使用exact string match去重,

(3)再用sequence simhash + longest common substring去重,

(4)去重后利用SOTA審核模型去掉謾罵色情涉政的數(shù)據(jù)。

2. more epoch or more data ?

在高質量數(shù)據(jù)的基礎上,模型的學習能力使得1-2epoch就能概率上學到數(shù)據(jù)中的知識和指令,所以虎博科技團隊把有限的算力讓模型去學習更多更豐富的知識和任務類型。在虎博科技團隊的大部分實驗中,模型的training loss在一個epoch后就收斂到最終的水平,eval loss會在2-3個epoch后增長即overfitting。這個觀察也在bloom最初的預訓練中得到印證,bigscience團隊也是預訓練了一個epoch后拿到模型。

3. eval loss or more data ?

在public NLP data上的自動評測是快速實驗的基礎,但自動評測多數(shù)是contextual QA task,即有上下文的情況下,評測模型的總結抽取等能力,和最終用戶體感是有差異的。所以虎博科技團隊首先在7項(預訓練)和9項(監(jiān)督微調)的public NLP benchmark上自動評測,以保證模型的綜合能力(知識深度),然后從自動評測最高的三個模型中選擇看過最多訓練數(shù)據(jù)的模型(知識廣度)。

4. important hyperparameters

虎博科技團隊通過大量實驗,發(fā)現(xiàn)重要的訓練參數(shù)包括:learning rate (LR), (global) batch size, adam regularizers (alpha, beta)。最優(yōu)的參數(shù)沒有理論結果,也是數(shù)據(jù)和基座模型的函數(shù)?;⒉┛萍紙F隊先用較小的training/eval dataset上(e.g., 1% random sample),快速geometric search找到超參的范圍;然后在全集training/eval dataset上geometric search到最佳超參。百億量級的模型的監(jiān)督微調在綜合任務數(shù)據(jù)集上的best-practice global batch是512-2048,LR是1e-5 - 2e-5,warmup fixed LR;而千億參數(shù)模型訓練在2epoch之后會有l(wèi)oss explosion現(xiàn)象,所以虎博團隊配合adam regularizer (beta2=0.95), 和warmup cosine LR schedule。

5. self-evoluation

虎博科技團隊在預訓練數(shù)據(jù)中混合入10%的監(jiān)督微調數(shù)據(jù),用非監(jiān)督的格式。背后的直覺是預訓練讓模型專注基礎知識p(t_n | t_n-1…),監(jiān)督學習讓模型專注指令完成p(response | instruction)。在sft的訓練過程中,大部分的gradient會指向完成指令的方向,因為數(shù)據(jù)中的基礎知識已經在預訓練中學習過。這就是虎博科技團隊讓模型自我進化的思想(self-evoluation),這和人類循序漸進的學習知識一個原理;比如,NLP的學生總是先學好各種概率分布,然后再學習在各種任務數(shù)據(jù)中的應用,打好基礎,事半功倍。

6. generation configs

在測評和上線模型的過程中,虎博科技團隊發(fā)現(xiàn)是否使用解碼cache (config.json, generation_config.json in model checkpoint folder) 對生成結果的一致性和性能有影響(輸入輸出token數(shù)分別為1024和100的情況下,使用cache的模型qps值約是不使用的7.7倍)。

虎博的模型基于decoder架構,可以緩存生成過程中每個attention計算使用的key/value投影結果,只增量計算每個新token與歷史token的attention,從而將生成每個token時的softmax計算復雜度由O(n*n)降低為O(n*1)。但是否使用cache,會導致是否有額外的mask value參與softmax計算,因此在不同的硬件環(huán)境和不同計算精度下,cache可能會導致生成結果的微小差異?;⒉┛萍紙F隊在自動評測中確定use_cache=true or false,測評結果一致,因此chat web和api都設置為use_cache=true,以保證響應最快的用戶體驗。

圖10: use_cache vs. response time

(免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )