BERT模型講解

BERT的模型架構

BERT: Bidirectional Encoder Representations from Transformers

BERT這個名稱直接反映了:它是一個基于Transformer編碼器雙向表示模型。BERT通過堆疊多層編碼器來構建深度模型。舉例來說:

  • BERT-Base:堆疊了12層Encoder,12個注意力頭,768維隱藏層,參數量約110M
  • BERT-Large:堆疊了24層Encoder,16個注意力頭,1024維隱藏層,參數量約340M
    在這里插入圖片描述

BERT的輸入表示

BERT的輸入表示是其獨特之處,包含三部分:

  1. Token Embedding:詞元嵌入,將輸入的單詞轉換為向量表示
  2. Segment Embedding:段落嵌入,用于區分輸入中的不同句子
  3. Position Embedding:位置嵌入,編碼詞元在序列中的位置信息

與原始Transformer使用三角函數計算的Position Encoding不同,BERT的Position Embedding是需要學習的參數。

BERT預訓練方法

同時進行兩項無監督任務的訓練來學習語言,即:

  1. 掩碼語言模型MLM
  2. 下一句預測NSP

接下來我們展開講解兩種任務

掩碼語言模型(Masked Language Model, MLM)

即完形填空從而讓大模型可以學到上下文。具體做法是(論文中并沒講述為何用這個比例,可能是因為這個比例效果更佳):

  1. 隨機選擇輸入tokens中的15%
  2. 對于被選中的tokens:
    策略1- 80%的情況下,將其替換為特殊標記[MASK]
    策略2- 10%的情況下,將其替換為隨機詞
    策略3- 10%的情況下,保持不變

舉例:我愛大語言模型
在這里插入圖片描述

下一句預測(Next Sentence Prediction, NSP)

NSP任務要求模型判斷兩個給定句子是否為原文中的相鄰句子。這可以讓模型理解句子間的關系。是與不是,這也就是轉為了二分類任務。


舉例:我愛大語言模型
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79138.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79138.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79138.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

權限控制模型全解析:RBAC、ACL、ABAC 與現代混合方案

權限控制模型全解析:RBAC、ACL、ABAC 與現代混合方案 在企業信息系統、SaaS 應用、安全平臺中,權限控制模型是確保用戶訪問安全和功能隔離的基礎架構設計之一。本文將系統性梳理常見的權限控制模型,包括 RBAC、ACL、ABAC、DAC、MAC、ReBAC 等…

一些模型測試中的BUG和可能解決方法

一些模型測試中的BUG和可能解決方法 模型一直重復反饋相同內容的問題查找思路 如下順序也是排查優先級 檢查提示詞和上下文,保證提示詞中沒有類似的要求,然后再查看上下文是不是占滿了token長度。檢查一下選擇的model是不是本身就有這樣的問題嘗試增加repeat_penalty(1.05、…

Kafka的Log Compaction原理是什么?

Kafka的Log Compaction(日志壓縮)是一種獨特的數據保留策略,其核心原理是保留每個key的最新有效記錄。以下是關鍵原理分點說明: 1. 鍵值保留機制 通過掃描所有消息的key,僅保留每個key對應的最新value值。例如&#…

在 MyBatis 中實現控制臺輸出 SQL 參數

在 MyBatis 中實現控制臺輸出 SQL 參數,可通過以下方案實現: # 一、使用 MyBatis-Plus 的 SqlLogInterceptor(推薦) ?適用場景?:項目已集成 MyBatis-Plus(3.5.3版本) ?配置步驟?&#xff…

黃金、碳排放期貨市場API接口文檔

StockTV 提供了多種期貨市場的數據接口,包括獲取K線圖表數據、查詢特定期貨的實時行情等。以下為對接期貨市場的詳細接口說明。 一、獲取K線圖表數據 通過調用/futures/kline接口,您可以獲取指定期貨合約的歷史K線數據(例如開盤價、最高價、…

“ES7+ React/Redux/React-Native snippets“常用快捷前綴

請注意,這是一個常用的列表,不是擴展提供的所有前綴。最完整和最新的列表請參考擴展的官方文檔或在 VS Code 中查看擴展的詳情頁面。 React (通常用于 .js, .jsx, .ts, .tsx): rfce: React Functional Component with Export Defaultrafce: React Arro…

[Windows] 能同時打開多個圖片的圖像游覽器JWSEE v2.0

[Windows] 能同時打開多個圖片的圖像游覽器JWSEE 鏈接:https://pan.xunlei.com/s/VOPpO86Hu3dalYLaZ1ivcTGIA1?pwdhckf# 十多年前收藏的能同時打開多個圖片的圖像游覽器JWSEE v2.0,官網已沒有下載資源。 JWSEE v2.0是烏魯木齊金維圖文信息科技有限公司…

[AI Tools] Dify 工具插件上傳指南:如何將插件發布到官方市場

Dify 作為開源的 LLM 應用開發平臺,不僅支持本地化插件開發,也提供了插件市場機制,讓開發者能夠將自己構建的插件發布并供他人使用。本文將詳細介紹如何將你開發的 Dify Tools 插件上傳至官方插件市場,包括 README 編寫、插件打包、倉庫 PR 等核心步驟。 一、準備 README 文…

gradle3.5的安裝以及配置環境變量

下載資源 Gradle |釋放 往下滑找到3.5版本,有條件的翻譯一下 這是原文點擊下載后解壓 隨后配置環境變量 變量名 GRADLE_HOME 變量值為bin路徑 配置path環境 win11直接添加%GRADLE_HOME%\bin 隨后進入命令提示符 輸入gradle -v 能看到版本號即為成功

單片機開發基礎與高效流程

單片機開發涉及硬件與軟件的緊密協作,是嵌入式系統的核心技術之一。以下從開發流程、調試技巧、代碼優化等方面詳細闡述高效開發方法。 一、開發環境搭建與配置 選擇合適的開發工具鏈是高效開發的基礎。以 STM32 為例,常用工具包括: IDE 選…

大模型系列(四)--- GPT2: Language Models are Unsupervised Multitask Learners?

論文鏈接: Language Models are Unsupervised Multitask Learners 點評: GPT-2采用了與GPT-1類似的架構,將參數規模增加到了15億,并使用大規模的網頁數據集WebText 進行訓練。正如GPT-2 的論文所述,它旨在通過無監督語…

數字孿生[IOC]常用10個技術棧(總括)

1. 什么是數字孿生? 數字孿生(Digital Twin) 是通過數字化技術對物理實體(如設備、系統或環境)進行高精度建模和實時映射的虛擬副本。其核心是通過 數據驅動 實現物理世界與虛擬世界的雙向交互,支持實時監控…

cnas軟件檢測實驗室質量管理體系文件思維導圖,快速理清全部文件

軟件檢測實驗室在申請CNAS資質時,需要根據認可文件的要求,建立實驗室質量管理體系,明晰地展示組織架構、合理地安排人員崗位職責和能力要求、全面地覆蓋認可文件要求的質量要素。這是一項非常龐大的工作,涉及到的文件類型非常多&a…

[Windows] 東芝存儲診斷工具1.30.8920(20170601)

[Windows] 東芝存儲診斷工具 鏈接:https://pan.xunlei.com/s/VOPpMjGdWZOLceIjxLNiIsIEA1?pwduute# 適用型號 東芝消費類存儲產品: 外置硬盤:Canvio 系列 內置硬盤:HDW****(E300 / N300 / P300 / S300 / V300 / X30…

C++ learning day 01

目錄 1. iostream : 2.第一個C++程序 3. 執行過程以及以上例子詳解(以上例子為參考) 1. iostream : 全稱: input/output stream library 作用: 用于處理輸入輸出操作 2.第一個C++程序 #include <iostream>int main() {std::cout << "Hello World! &qu…

單位代碼簽名證書是什么?如何申請?

軟件安全已成為企業不可忽視的核心話題&#xff0c;當用戶下載企業級軟件時&#xff0c;若遇到“未知發布者”的警告彈窗&#xff0c;很可能是由于軟件未進行數字簽名所致。這種看似簡單的提示背后&#xff0c;隱藏著巨大的安全隱患與信任危機。而單位代碼簽名證書&#xff0c;…

《Zabbix Proxy分布式監控實戰:從安裝到配置全解析》

注意&#xff1a;實驗所需的zabbix服務器的搭建可參考博客 zabbix 的docker安裝_docker安裝zabbix-CSDN博客 1.1 實驗介紹 1.1.1 實驗目的 本實驗旨在搭建一個基于Zabbix的監控系統&#xff0c;通過安裝和配置Zabbix Proxy、MySQL數據庫以及Zabbix Agent&#xff0c;實現分…

泛型設計模式實踐

學海無涯&#xff0c;志當存遠。燃心礪志&#xff0c;奮進不輟。 愿諸君得此雞湯&#xff0c;如沐春風&#xff0c;事業有成。 若覺此言甚善&#xff0c;煩請賜贊一枚&#xff0c;共勵學途&#xff0c;同鑄輝煌&#xff01; 為解決在設計框架或庫時遇到的類型安全問題&#xff…

【kafla掃盲】FROM GPT

Kafka 掃盲指南&#xff1a;分布式流處理利器 Apache Kafka 是一個分布式流處理平臺&#xff0c;最早由 LinkedIn 開發&#xff0c;后來開源并捐贈給 Apache 基金會。Kafka 專為高吞吐量、低延遲的實時數據流處理而設計&#xff0c;廣泛用于日志收集、實時分析、消息隊列、流處…

每天五分鐘深度學習框架pytorch:視覺工具包torchvison

本文重點 在pytorch深度學習框架中,torchvision是一個非常優秀的視覺工具包,我們可以使用它加載一些著名的數據集,然后我們可以使用它來加載網絡模型,比如vgg,resnet等等,還可以使用它來預處理一些圖片數據,本節課程我們將學習一下它的使用方式。 torchvision的四部分…