久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

擁抱臉部 LLM 工具的完整初學(xué)者指南

 一介書生五十后 2023-10-02 發(fā)布于浙江

Hugging Face 是一個(gè)人工智能研究實(shí)驗(yàn)室和中心,建立了一個(gè)由學(xué)者,、研究人員和愛好者組成的社區(qū),。 在很短的時(shí)間內(nèi),Hugging Face 就在人工智能領(lǐng)域占據(jù)了重要地位,。 科技巨頭 包括谷歌,、亞馬遜和英偉達(dá)在內(nèi)的人工智能初創(chuàng)公司 Hugging Face 都進(jìn)行了大量投資,,使其估值大幅提升 的美元4.5億元.

在本指南中,我們將介紹 Transformer,、LLM 以及 Hugging Face 庫如何在培育開源 AI 社區(qū)方面發(fā)揮重要作用,。 我們還將通過 Python 示例來介紹 Hugging Face 的基本功能,包括管道,、數(shù)據(jù)集,、模型等。

NLP 中的 Transformer

2017年,,康奈爾大學(xué)發(fā)表了一篇有影響力的論文,,介紹了 變形金剛。 這些是 NLP 中使用的深度學(xué)習(xí)模型,。 這一發(fā)現(xiàn)推動(dòng)了大型語言模型的發(fā)展,,例如 ChatGPT.

大型語言模型或 LLM 是使用 Transformer 來理解和創(chuàng)建類人文本的人工智能系統(tǒng)。 然而,,創(chuàng)建這些模型的成本很高,,通常需要數(shù)百萬美元,這限制了大公司的使用,。

擁抱臉,,始于 2016 年,旨在讓每個(gè)人都能接觸到 NLP 模型,。 盡管是一家商業(yè)公司,,但它提供了一系列開源資源,幫助人們和組織以經(jīng)濟(jì)實(shí)惠的方式構(gòu)建和使用變壓器模型,。 機(jī)器識(shí)別 是關(guān)于教計(jì)算機(jī)通過識(shí)別模式來執(zhí)行任務(wù),而深度學(xué)習(xí)(機(jī)器學(xué)習(xí)的一個(gè)子集)創(chuàng)建了一個(gè)獨(dú)立學(xué)習(xí)的網(wǎng)絡(luò),。 Transformer 是一種深度學(xué)習(xí)架構(gòu),,可以有效、靈活地使用輸入數(shù)據(jù),,由于訓(xùn)練時(shí)間要求較少,,使其成為構(gòu)建大型語言模型的流行選擇。

擁抱臉部如何促進(jìn) NLP 和 LLM 項(xiàng)目

擁抱臉部生態(tài)系統(tǒng) - 模型,、數(shù)據(jù)集,、指標(biāo)、變壓器,、加速器,、標(biāo)記器

Hugging Face 通過提供以下功能,讓與法學(xué)碩士的合作變得更加簡(jiǎn)單:

  1. 一系列預(yù)先訓(xùn)練的模型可供選擇,。
  2. 用于根據(jù)您的特定需求微調(diào)這些模型的工具和示例,。
  3. 適用于各種環(huán)境的輕松部署選項(xiàng),。

通過 Hugging Face 可以獲得的一個(gè)很棒的資源是 打開 LLM 排行榜。 作為一個(gè)綜合平臺(tái),,它系統(tǒng)地監(jiān)控,、排名和衡量一系列大型語言模型 (LLM) 和聊天機(jī)器人的效率,為開源領(lǐng)域的進(jìn)步提供敏銳的分析

LLM 基準(zhǔn)通過四個(gè)指標(biāo)來衡量模型:

  • AI2推理挑戰(zhàn)賽 (25 個(gè)鏡頭)——圍繞基礎(chǔ)科學(xué)教學(xué)大綱的一系列問題,。
  • 海拉斯瓦格 (10 次)——一項(xiàng)常識(shí)性推理測(cè)試,,雖然對(duì)人類來說很簡(jiǎn)單,但這個(gè)指標(biāo)對(duì)于尖端模型來說是一個(gè)重大挑戰(zhàn),。
  • 百萬美元 (5 個(gè)鏡頭)——涉及文本模型在 57 個(gè)不同領(lǐng)域的熟練程度的多方面評(píng)估,,包括基礎(chǔ)數(shù)學(xué)、法律和計(jì)算機(jī)科學(xué)等,。
  • 真實(shí)質(zhì)量保證 (0-shot) — 一種工具,,用于確定模型回顯經(jīng)常遇到的在線錯(cuò)誤信息的傾向。

基準(zhǔn)使用“25-shot”,、“10-shot”,、“5-shot”和“0-shot”等術(shù)語來描述,表示模型在評(píng)估過程中給出的提示示例的數(shù)量衡量其在各個(gè)領(lǐng)域的表現(xiàn)和推理能力,。 在“少樣本”范式中,,為模型提供了少量示例來幫助指導(dǎo)他們的響應(yīng),而在“零樣本”設(shè)置中,,模型沒有收到任何示例,,并且必須僅依靠其預(yù)先存在的知識(shí)來做出適當(dāng)?shù)捻憫?yīng)。

擁抱臉的組成部分

管道

'管道' 是 Hugging Face 變壓器庫的一部分,,該功能有助于輕松利用 Hugging Face 存儲(chǔ)庫中提供的預(yù)訓(xùn)練模型,。 它為一系列任務(wù)提供了直觀的 API,包括情感分析,、問答,、掩碼語言建模、命名實(shí)體識(shí)別和摘要,。

Pipelines 集成了三個(gè)中央 Hugging Face 組件:

  1. 分詞器:通過將文本轉(zhuǎn)換為模型可以理解的格式來為模型準(zhǔn)備文本,。
  2. 型號(hào):這是管道的核心,根據(jù)預(yù)處理的輸入進(jìn)行實(shí)際預(yù)測(cè),。
  3. 后處理器:將模型的原始預(yù)測(cè)轉(zhuǎn)換為人類可讀的形式,。

這些管道不僅減少了大量的編碼,還提供了一個(gè)用戶友好的界面來完成各種 NLP 任務(wù),。

使用 Hugging Face 庫的 Transformer 應(yīng)用程序

Hugging Face 庫的一大亮點(diǎn)是 Transformers 庫,,它通過將模型與必要的預(yù)處理和后處理階段連接起來,簡(jiǎn)化了 NLP 任務(wù),,從而簡(jiǎn)化了分析過程,。 要安裝并導(dǎo)入該庫,,請(qǐng)使用以下命令:

1
2
pip install -q transformers
from transformers import pipeline

完成此操作后,您可以從情感分析開始執(zhí)行 NLP 任務(wù),,將文本分類為積極或消極情緒,。 該庫強(qiáng)大的 pipeline() 函數(shù)充當(dāng)包含其他管道的中心,并促進(jìn)音頻,、視覺和多模態(tài)領(lǐng)域中特定于任務(wù)的應(yīng)用程序,。

實(shí)際應(yīng)用

文字分類

使用 Hugging Face 的 pipeline() 函數(shù),文本分類變得輕而易舉,。 以下是啟動(dòng)文本分類管道的方法:

1
classifier = pipeline('text-classification')

如需親身體驗(yàn),,請(qǐng)將字符串或字符串列表輸入到管道中以獲得預(yù)測(cè),可以使用 Python 的 Pandas 庫將其直觀地可視化,。 下面是一個(gè) Python 片段演示了這一點(diǎn):

1
2
3
4
5
6
7
8
9
sentences = ['I am thrilled to introduce you to the wonderful world of AI.',
'Hopefully, it won't disappoint you.']
# Get classification results for each sentence in the list
results = classifier(sentences)
# Loop through each result and print the label and score
for i, result in enumerate(results):
print(f'Result {i + 1}:')
print(f' Label: {result['label']}')
print(f' Score: {round(result['score'], 3)}\n')

輸出

1
2
3
4
5
6
Result 1:
Label: POSITIVE
Score: 1.0
Result 2:
Label: POSITIVE
Score: 0.996

命名實(shí)體識(shí)別(NER)

NER 對(duì)于從文本中提取稱為“命名實(shí)體”的現(xiàn)實(shí)世界對(duì)象至關(guān)重要,。 利用 NER 管道有效識(shí)別這些實(shí)體:

1
2
3
4
ner_tagger = pipeline('ner', aggregation_strategy='simple')
text = 'Elon Musk is the CEO of SpaceX.'
outputs = ner_tagger(text)
print(outputs)

輸出

1
Elon Musk: PER, SpaceX: ORG

問題回答

問答涉及從給定上下文中提取特定問題的精確答案。 初始化問答管道并輸入您的問題和上下文以獲得所需的答案:

1
2
3
4
5
reader = pipeline('question-answering')
text = 'Hugging Face is a company creating tools for NLP. It is based in New York and was founded in 2016.'
question = 'Where is Hugging Face based?'
outputs = reader(question=question, context=text)
print(outputs)

輸出

1
{'score': 0.998, 'start': 51, 'end': 60, 'answer': 'New York'}

除了文本分類,、NER 和問題回答之外,,Hugging Face 的管道功能還為不同的任務(wù)提供了一系列預(yù)構(gòu)建的管道。 以下是可用任務(wù)子集的詳細(xì)信息:

表:擁抱面部管道任務(wù)

任務(wù)產(chǎn)品描述管道標(biāo)識(shí)符
文本生成根據(jù)給定的提示生成文本管道(任務(wù)=“文本生成”)
概要總結(jié)冗長(zhǎng)的文本或文檔管道(任務(wù)=“總結(jié)”)
影像分類標(biāo)記輸入圖像管道(任務(wù)=“圖像分類”)
音頻分類對(duì)音頻數(shù)據(jù)進(jìn)行分類管道(任務(wù)=“音頻分類”)
視覺問答使用圖像和問題回答查詢管道(任務(wù)=“vqa”)

有關(guān)詳細(xì)說明和更多任務(wù),,請(qǐng)參閱 Hugging Face 網(wǎng)站上的管道文檔.

為什么 Hugging Face 將重點(diǎn)轉(zhuǎn)向 Rust

擁抱臉部 Safetensors 和 tokenizer Rust

擁抱臉部 Safetensors 和 tokenizer GitHub 頁面

Hugging Face (HF) 生態(tài)系統(tǒng)開始在其庫中使用 Rust,,例如安全傳感器和標(biāo)記器。

Hugging Face 最近還發(fā)布了一個(gè)新的機(jī)器學(xué)習(xí)框架,,名為 蠟燭,。 與使用 Python 的傳統(tǒng)框架不同,Candle 是使用 Rust 構(gòu)建的,。 使用 Rust 的目標(biāo)是在支持 GPU 操作的同時(shí)增強(qiáng)性能并簡(jiǎn)化用戶體驗(yàn),。

Candle 的主要目標(biāo)是促進(jìn)無服務(wù)器推理,使輕量級(jí)二進(jìn)制文件的部署成為可能,,并將 Python 從生產(chǎn)工作負(fù)載中刪除,,因?yàn)?Python 有時(shí)會(huì)因其開銷而減慢進(jìn)程。 該框架是一種解決方案,,旨在克服 PyTorch 等完整機(jī)器學(xué)習(xí)框架在集群上創(chuàng)建實(shí)例時(shí)體積大且速度慢的問題。

讓我們探討一下為什么 Rust 比 Python 更受歡迎,。

  1. 速度與性能 – Rust 以其令人難以置信的速度而聞名,,其性能優(yōu)于傳統(tǒng)上用于機(jī)器學(xué)習(xí)框架的 Python。 Python 的性能有時(shí)會(huì)因其全局解釋器鎖(GIL)而降低,,但 Rust 不會(huì)面臨這個(gè)問題,,它承諾更快地執(zhí)行任務(wù),并隨后提高實(shí)現(xiàn)它的項(xiàng)目的性能,。
  2. 安全性 – Rust 在沒有垃圾收集器的情況下提供內(nèi)存安全保證,,這對(duì)于確保并發(fā)系統(tǒng)的安全至關(guān)重要,。 這在安全張量等領(lǐng)域發(fā)揮著至關(guān)重要的作用,在這些領(lǐng)域中,,處理數(shù)據(jù)結(jié)構(gòu)的安全性是優(yōu)先考慮的,。

安全張量

安全張量 受益于 Rust 的速度和安全特性。 Safetensors 涉及張量(一個(gè)復(fù)雜的數(shù)學(xué)實(shí)體)的操作,,Rust 確保操作不僅快速,,而且安全,避免內(nèi)存處理不當(dāng)可能引起的常見錯(cuò)誤和安全問題,。

分詞器

分詞器 處理將句子或短語分解成更小的單元,,例如單詞或術(shù)語。 Rust 通過加快執(zhí)行時(shí)間來幫助這個(gè)過程,,確保標(biāo)記化過程不僅準(zhǔn)確而且快速,,從而提高了效率 自然語言處理 任務(wù)。

Hugging Face 標(biāo)記器的核心是子詞標(biāo)記化的概念,,在單詞和字符級(jí)標(biāo)記化之間取得微妙的平衡,,以優(yōu)化信息保留和詞匯量。 它通過創(chuàng)建子標(biāo)記(例如“##ing”和“##ed”)來發(fā)揮作用,,保留語義豐富性,,同時(shí)避免詞匯量臃腫。

子詞標(biāo)記化涉及一個(gè)訓(xùn)練階段,,以確定字符和單詞級(jí)標(biāo)記化之間最有效的平衡,。 它超越了單純的前綴和后綴規(guī)則,需要對(duì)大量文本語料庫中的語言模式進(jìn)行全面分析,,以設(shè)計(jì)高效的子詞標(biāo)記器,。 生成的分詞器擅長(zhǎng)通過將新詞分解為已知的子詞來處理新詞,從而保持高水平的語義理解,。

代幣化組件

標(biāo)記化器庫將標(biāo)記化過程分為幾個(gè)步驟,,每個(gè)步驟都解決標(biāo)記化的不同方面。 讓我們深入研究這些組件:

  • 歸一化器:對(duì)輸入字符串進(jìn)行初始轉(zhuǎn)換,,應(yīng)用必要的調(diào)整,,例如小寫轉(zhuǎn)換、Unicode 規(guī)范化和剝離,。
  • 預(yù)分詞器:負(fù)責(zé)將輸入字符串分段為預(yù)分段,,根據(jù)預(yù)定義的規(guī)則(例如空間劃分)確定分段。
  • 型號(hào):監(jiān)督子代幣的發(fā)現(xiàn)和創(chuàng)建,,適應(yīng)輸入數(shù)據(jù)的具體情況并提供培訓(xùn)功能,。
  • 后處理器:通過添加 [CLS] 和 [SEP] 等標(biāo)記,增強(qiáng)構(gòu)造功能,,以促進(jìn)與許多基于 Transformer 的模型(例如 BERT)的兼容性,。

要開始使用 Hugging Face 標(biāo)記器,,請(qǐng)使用以下命令安裝庫 pip install tokenizers 并將其導(dǎo)入到您的 Python 環(huán)境中。 該庫可以在很短的時(shí)間內(nèi)標(biāo)記大量文本,,從而為模型訓(xùn)練等更密集的任務(wù)節(jié)省寶貴的計(jì)算資源,。

分詞器庫使用 它繼承了 C++ 的語法相似性,同時(shí)在編程語言設(shè)計(jì)中引入了新穎的概念,。 與 Python 綁定相結(jié)合,,它可確保您在 Python 環(huán)境中工作時(shí)享受較低級(jí)語言的性能。

數(shù)據(jù)集

數(shù)據(jù)集是人工智能項(xiàng)目的基石,。 Hugging Face 提供了各種各樣的數(shù)據(jù)集,,適用于各種 NLP 任務(wù)等等。 為了有效地利用它們,,了解加載和分析它們的過程至關(guān)重要,。 下面是一個(gè)經(jīng)過充分注釋的 Python 腳本,演示了如何探索 Hugging Face 上可用的數(shù)據(jù)集:

1
2
3
4
5
from datasets import load_dataset
# Load a dataset
dataset = load_dataset('squad')
# Display the first entry
print(dataset[0])

該腳本使用 load_dataset 函數(shù)加載 SQuAD 數(shù)據(jù)集,,這是問答任務(wù)的常用選擇,。

利用預(yù)先訓(xùn)練的模型并將其整合在一起

預(yù)訓(xùn)練模型構(gòu)成了許多深度學(xué)習(xí)項(xiàng)目的支柱,使研究人員和開發(fā)人員能夠快速啟動(dòng)他們的計(jì)劃,,而無需從頭開始,。 Hugging Face 有助于探索各種預(yù)訓(xùn)練模型,如下代碼所示:

1
2
3
4
5
6
from transformers import AutoModelForQuestionAnswering, AutoTokenizer
# Load the pre-trained model and tokenizer
model = AutoModelForQuestionAnswering.from_pretrained('bert-large-uncased-whole-word-masking-finetuned-squad')
tokenizer = AutoTokenizer.from_pretrained('bert-large-uncased-whole-word-masking-finetuned-squad')
# Display the model's architecture
print(model)

加載模型和分詞器后,,我們現(xiàn)在可以繼續(xù)創(chuàng)建一個(gè)函數(shù),,該函數(shù)將一段文本和一個(gè)問題作為輸入,并返回從文本中提取的答案,。 我們將利用分詞器將輸入文本和問題處理為與模型兼容的格式,,然后將處理后的輸入輸入到模型中以獲得答案:

1
2
3
4
5
6
7
8
9
def get_answer(text, question):
    # Tokenize the input text and question
    inputs = tokenizer(question, text, return_tensors='pt', max_length=512, truncation=True)
    outputs = model(**inputs)
    # Get the start and end scores for the answer
    answer_start = torch.argmax(outputs.start_logits)
    answer_end = torch.argmax(outputs.end_logits) + 1
    answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(inputs['input_ids'][0][answer_start:answer_end]))
    return answer

在代碼片段中,我們從 Transformers 包中導(dǎo)入必要的模塊,,然后使用 from_pretrained 方法加載預(yù)訓(xùn)練的模型及其相應(yīng)的分詞器,。 我們選擇在 SQuAD 數(shù)據(jù)集上微調(diào)的 BERT 模型。

讓我們看一下此函數(shù)的示例用例,,其中我們有一段文本,,我們希望從中提取問題的具體答案:

1
2
3
4
5
6
7
8
text = '''
The Eiffel Tower, located in Paris, France, is one of the most iconic landmarks in the world. It was designed by Gustave Eiffel and completed in 1889. The tower stands at a height of 324 meters and was the tallest man-made structure in the world at the time of its completion.
'''
question = 'Who designed the Eiffel Tower?'
# Get the answer to the question
answer = get_answer(text, question)
print(f'The answer to the question is: {answer}')
# Output: The answer to the question is: Gustave Eiffel

在此腳本中,我們構(gòu)建了一個(gè) get_answer 函數(shù),,該函數(shù)接受文本和問題,,對(duì)它們進(jìn)行適當(dāng)?shù)臉?biāo)記,并利用預(yù)先訓(xùn)練的 BERT 模型從文本中提取答案,。 它演示了 Hugging Face 的 Transformers 庫的實(shí)際應(yīng)用,以構(gòu)建一個(gè)簡(jiǎn)單但功能強(qiáng)大的問答系統(tǒng),。 為了更好地掌握這些概念,,建議使用 谷歌 Colab 筆記本.

結(jié)論

通過其廣泛的開源工具,、預(yù)先訓(xùn)練的模型和用戶友好的管道,它使經(jīng)驗(yàn)豐富的專業(yè)人士和新手能夠以輕松和理解的方式深入探索廣闊的人工智能世界,。 此外,,由于 Rust 的速度和安全特性,集成 Rust 的舉措突顯了 Hugging Face 致力于促進(jìn)創(chuàng)新,,同時(shí)確保人工智能應(yīng)用的效率和安全性的承諾,。 Hugging Face 的變革性工作不僅使高級(jí)人工智能工具的使用變得民主化,而且還為人工智能領(lǐng)域的學(xué)習(xí)和發(fā)展?fàn)I造了一個(gè)協(xié)作環(huán)境,,促進(jìn)了人工智能觸手可及的未來,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多