最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LLaMA閱讀筆記

2023-05-31 16:31 作者:小貓咪毛毛  | 我要投稿


LLaMA: Open and Efficient Foundation Language Models

? 介紹了論文中 “2. Approach” 部分,包括數(shù)據(jù)集和網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化


數(shù)據(jù)來源:全部為開源數(shù)據(jù)集

數(shù)據(jù)集
  • 預訓練是一種利用大量無標注數(shù)據(jù)來訓練一個通用模型的方法,然后再用特定任務(wù)的數(shù)據(jù)來微調(diào)模型。

  • 數(shù)據(jù)混合是一種將不同來源或類型的數(shù)據(jù)組合在一起的方法,以增加數(shù)據(jù)的多樣性和覆蓋率。

  • 采樣比例是指從每個子集中抽取數(shù)據(jù)的概率。

  • 輪數(shù)(epoch)是指對整個數(shù)據(jù)集進行一次完整的訓練:除了書和wiki,其他都是1epoch

下面介紹一下看著陌生的Dataset:

  • CommonCrawl:用CCNet pipline 提取和過濾從互聯(lián)網(wǎng)中爬取下來的文本,它可以根據(jù)語言、長度、重復度等標準來選擇高質(zhì)量的文本。

  • C4:也是互聯(lián)網(wǎng)中爬取下的文本,但它的文本質(zhì)量過濾依賴于一些啟發(fā)式的標準,比如網(wǎng)頁中的標點符號或者單詞和句子的數(shù)量。

  • StackExchange:一些問答網(wǎng)站,有各個領(lǐng)域的高質(zhì)量問答數(shù)據(jù)。

Tokenizer:

Bytepair encoding algorithm (BPE) : BPE算法是一種數(shù)據(jù)壓縮算法,它可以將文本切分為任意大小的單元,不受語言或字符集的限制。它的基本思想是,每一步都將最常見的一對相鄰數(shù)據(jù)單位替換為該數(shù)據(jù)中沒有出現(xiàn)過的一個新單位,反復迭代直到滿足停止條件。它可以有效地處理未登錄詞和稀有詞,提高語言模型的性能。ChatGPT使用的也是BPE算法。

另外,他們把數(shù)分成單個的數(shù)字,對于未知的UTF-8字符,用的字節(jié)進行分解。


網(wǎng)絡(luò)結(jié)構(gòu)&訓練

提高效率效率:

  • 網(wǎng)絡(luò)用了causal multi-head attention(因果自注意力)減少內(nèi)存和訓練時間,它可以保證只考慮當前和之前的輸入。因果自注意力用一個掩碼(mask)來實現(xiàn),即在計算相似度時,把未來時刻的輸入屏蔽掉。為了提高效率,用了XFormers和FlashAttention實現(xiàn)

  • 用檢查點(checkpointing)減少了反向傳播過程中需要重新計算的激活值(activations)。具體來說,我們保存了那些計算代價較高的激活值,比如線性層的輸出。

  • 模型和序列并行:這是一種分布式訓練的方法,它可以把一個大模型或者一個長序列拆分成多個小塊,分配給不同的GPU進行并行計算,從而減少單個GPU的負擔和內(nèi)存需求。

  • 計算和通信重疊:這是一種提高計算效率的方法,它可以讓GPU在計算激活值的同時進行網(wǎng)絡(luò)通信,從而減少等待時間和同步開銷。

網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化:

  • Pre-normalization: 為了讓訓練更加穩(wěn)定,llama給 transformer sub-layer 的輸入做了normalize,而不是輸出。用了RMSNorm

  • SwiGLU激活: ReLU替換成了SwiGLU。SwiGLU是一種激活函數(shù),它是Gated Linear Units (GLU)的一種變體,使用Swish函數(shù)代替sigmoid函數(shù)。它可以提高transformer模型的性能,比ReLU或GELU激活函數(shù)更好。SwiGLU的優(yōu)點是它可以動態(tài)地調(diào)整信息流的門控程度,根據(jù)輸入的不同而變化。ReLU的缺點是它會導致神經(jīng)元死亡,即輸出為零的情況。GELU的缺點是它比ReLU更復雜,計算量更大。

  • 旋轉(zhuǎn)嵌入(Rotary Embeddings): GPTNeo是一種新型的位置編碼方法,它可以兼顧絕對位置和相對位置的信息。它的基本思想是通過一個旋轉(zhuǎn)矩陣來調(diào)整每個單詞或標記的嵌入向量,使得它們的內(nèi)積只與它們的相對位置有關(guān)。旋轉(zhuǎn)嵌入不需要預先定義或?qū)W習位置嵌入向量,而是在網(wǎng)絡(luò)的每一層動態(tài)地添加位置信息。旋轉(zhuǎn)嵌入有一些優(yōu)點,比如可以處理任意長度的序列,可以提高模型的泛化能力,可以減少計算量,可以適用于線性Attention等。

Optimizer:

  • AdamW, cosine learning rate, warmup


LLaMA閱讀筆記的評論 (共 條)

分享到微博請遵守國家法律
将乐县| 和政县| 杭锦后旗| 兰州市| 同心县| 青海省| 内乡县| 鄯善县| 博兴县| 凯里市| 延安市| 黄龙县| 阳谷县| 华容县| 明溪县| 门头沟区| 泰兴市| 贵阳市| 砀山县| 永福县| 岳阳市| 乌拉特前旗| 海丰县| 汝南县| 百色市| 蓝山县| 和林格尔县| 山东省| 博野县| 舒兰市| 凤阳县| 嫩江县| 子洲县| 九江县| 武川县| 蒲城县| 开远市| 博罗县| 安宁市| 闽侯县| 长治市|