從零開始快速入門google開源BERT模型

2021-10-02 04:54:43 字數 2319 閱讀 2251

sentence encoding/embedding是許多nlp應用程式所需的上游任務,例如,情緒分析,文字分類。目標是將可變長度的句子表示為固定長度的向量,例如[0.1,0.3,0.9]的hello world。向量的每個元素都應「編碼」原始句子的某些語義。

最好的安裝方法bert-as-service是通過pip。請注意,伺服器和客戶端可以分別安裝,甚至可以安裝在不同的計算機上:

pip install -u bert-serving-server bert-serving-client
伺服器必須上執行的python> = 3.5tensorflow> = 1.10(單點-10)。同樣,該伺服器不支援python 2!

注意om

客戶端可以同時在python 2和3上執行。

由google ai發布的預訓練bert模型列表:

bert-base, uncased

12-layer, 768-hidden, 12-heads, 110m parameters

bert-large, uncased

24-layer, 1024-hidden, 16-heads, 340m parameters

bert-base, cased

12-layer, 768-hidden, 12-heads , 110m parameters

bert-large, cased

24-layer, 1024-hidden, 16-heads, 340m parameters

bert-base, multilingual cased (new)

104 languages, 12-layer, 768-hidden, 12-heads, 110m parameters

bert-base, multilingual cased (old)

102 languages, 12-layer, 768-hidden, 12-heads, 110m parameters

bert-base, chinese

chinese simplified and traditional, 12-layer, 768-hidden, 12-heads, 110m parameters

安裝伺服器之後,您應該能夠使用bert-serving-start cli,如下所示:

bert-serving-start -model_dir /$/english_l-12_h-768_a-12/ -num_worker=4
這將以四個worker啟動服務,這意味著它最多可以處理四個併發請求。更多併發請求將在負載均衡器中排隊。

下面顯示了正確啟動時伺服器的狀態:

現在,您可以簡單地對句子進行編碼,如下所示:

下面是乙個基本示例:

from bert_serving.client import bertclient

bc = bertclient()

bc.encode(['first do it', 'then do it right', 'then do it better'])

執行後的**將返回乙個ndarray,每一行是乙個句子的固定表示形式。您還可以指定讓它返回純python型別的物件list[list[float]]

作為bert的功能,您可以通過連線起來將得到乙個對句子的編碼|||,例如,

bc.encode(['first do it ||| then do it right'])
也可以在一台(gpu)機器上啟動該服務,然後從另一台(cpu)機器呼叫該服務,如下所示:

# on another cpu machine

from bert_serving.client import bertclient

bc = bertclient(ip='xx.xx.xx.xx') # ip address of the gpu machine

bc.encode(['first do it', 'then do it right', 'then do it better'])

後續將介紹自定義process的編寫

從零開始學SEO,讓「網路小白」快速入門

seo 搜尋引擎優化 是伴隨著網際網路而生的。最早提出seo一詞是在1997年,當時中國的網際網路並不發達。在網際網路發展至今的20多年時間時裡,seo逐漸形成了一套完整的操作流程。說到操作,許多人會認為seo是一門技術。但其實在曾慶平seo看來,seo不僅是一門技術,更是一種思維。seo可以算得上...

opencv從零開始 0 快速上手

最近在看非常火的乙個劇 人民的名義 非常好看,看了之後,我突然有了一種解脫的感覺,從庸俗的價值觀中解脫出來,也許做好一件事就已經足夠了。注 所有的操作均在centos 6.7下進行,環境搭建參考我的博文 centos安裝opencv 2.4.13 如下 include using namespace...

入門 1 從零開始的HTML

html hypertext markup languge 超文字標記語言。乙個標籤被解析後會顯示標籤要表達的內容。單單乙個標籤就可以解釋成一張。總結 html標籤內存放各種元素的集合,是乙個資訊的載體 讀取,整理,計算顯示並渲染到頁面上 解析,渲染 瀏覽器與對應核心 瀏覽器核心firefox ge...