成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

20年IT老司機,用ChatGPT創建領域知識

原創 精選
人工智能
一次革命性的技術升級,ChatGPT 4.0的發布震動了整個AI行業。現在,不僅可以讓計算機識別并回答日常的自然語言問題,ChatGPT還可以通過對行業數據建模,提供更準確的解決方案。本文將帶您深入了解ChatGPT的架構原理及其發展前景,同時介紹如何使用ChatGPT的API訓練行業數據。讓我們一起探索這個嶄新且極具前途的領域,開創一個新的AI時代。

作者 | 崔皓?

審校 | 重樓?

摘要?

一次革命性的技術升級,ChatGPT 4.0的發布震動了整個AI行業。現在,不僅可以讓計算機識別并回答日常的自然語言問題,ChatGPT還可以通過對行業數據建模,提供更準確的解決方案。本文將帶您深入了解ChatGPT的架構原理及其發展前景,同時介紹如何使用ChatGPT的API訓練行業數據。讓我們一起探索這個嶄新且極具前途的領域,開創一個新的AI時代。?

ChatGPT 4.0的發布?

ChatGPT 4.0 已經正式發布了!這一版本的 ChatGPT 引入了跨越式革新,與之前的 ChatGPT 3.5 相比,它在模型的性能和速度方面都有了巨大的提升在ChatGPT 4.0發布之前,許多人已經關注過ChatGPT,并意識到它在自然語言處理領域的重要性。然而,在3.5以及之前的版本,ChatGPT的局限性仍然存在,因為它的訓練數據主要集中在通用領域的語言模型中,難以生成與特定行業相關的內容。但是,隨著ChatGPT 4.0的發布,越來越多的人已經開始使用它來訓練他們自己的行業數據,并被廣泛應用于各個行業。使得越來越多的人從關注到使用 ChatGPT。接下來,我將為您介紹一下 ChatGPT 的架構原理、發展前景以及在訓練行業數據方面的應用。?

ChatGPT 的能力?

ChatGPT的架構基于深度學習神經網絡,是一種自然語言處理技術,其原理是使用預先訓練的大型語言模型來生成文本,使得機器可以理解和生成自然語言。ChatGPT的模型原理基于Transformer網絡,使用無監督的語言建模技術進行訓練,預測下一個單詞的概率分布,以生成連續的文本。使用參數包括網絡的層數、每層的神經元數量、Dropout概率、Batch Size等。學習的范圍涉及了通用的語言模型,以及特定領域的語言模型。通用領域的模型可以用于生成各種文本,而特定領域的模型則可以根據具體的任務進行微調和優化。?

OpenAI利用了海量的文本數據作為GPT-3的訓練數據。具體來說,他們使用了超過45TB的英文文本數據和一些其他語言的數據,其中包括了網頁文本、電子書、百科全書、維基百科、論壇、博客等等。他們還使用了一些非常大的數據集,例如Common Crawl、WebText、BooksCorpus等等。這些數據集包含了數萬億個單詞和數十億個不同的句子,為模型的訓練提供了非常豐富的信息。?

既然要學習這么多的內容,使用的算力也是相當可觀的。ChatGPT花費的算力較高,需要大量的GPU資源進行訓練。據OpenAI在2020年的一份技術報告中介紹,GPT-3在訓練時耗費了大約175億個參數和28500個TPU v3處理器。?

ChatGPT在專業領域的應用??

從上面的介紹,我們知道了ChatGPT具有強大的能力,同時也需要一個龐大的計算和資源消耗,訓練這個大型語言模型需要花費高昂成本。但花費了這樣高昂的成本生產出來的AIGC工具存在其局限性對于某些專業領域的知識它并沒有涉足。例如,當涉及到醫療或法律等專業領域時,ChatGPT就無法生成準確的答案。這是因為ChatGPT的學習數據來源于互聯網上的通用語料庫,這些數據并不包括某些特定領域的專業術語和知識。因此,要想讓ChatGPT在某些專業領域具有較好的表現,需要使用該領域的專業語料庫進行訓練,也就是說將專業領域專家的知識“教給”ChatGPT進行學習?

但是,ChatGPT并沒有讓我們失望。如果將ChatGPT應用到某個行業中,需要先將該行業的專業數據提取出來,并進行預處理。具體來說,需要對數據進行清洗、去重、切分、標注等一系列處理。之后,將處理后的數據進行格式化,將其轉換為符合ChatGPT模型輸入要求的數據格式。然后,可以利用ChatGPT的API接口,將處理后的數據輸入到模型中進行訓練。訓練的時間和花費取決于數據量和算力大小。訓練完成后,可以將模型應用到實際場景中,用于回答用戶的問題。?

使用ChatGPT訓練專業領域知識!?

其實建立專業領域的知識庫并不難,具體操作就是將行業數據轉換為問答格式然后將問答的格式通過自然語言處理(NLP)技術進行建模,從而回答問題。使用OpenAI的GPT-3 API(以GPT3 為例)可以創建一個問答模型,只需提供一些示例,它就可以根據您提供的問題生成答案。?

使用GPT-3 API創建問答模型的大致步驟如下:?


  1. 采集數據:這里可以通過網絡爬取行業相關的信息,針對論壇、問答等,也可以從行業的文檔中得到線索,例如產品手冊,維護手冊之類的內容產品。具體的采集數據方式這里不展開。后面的例子中統一都會當作文本來處理,也就是將所謂的行業數據都處理成一個字符串給到我們的程序。?
  2. 轉化成問答格式:由于GPT是一個問答的智能工具,所以需要將你的知識變成問答的格式輸入給GPT,從文本到問答的轉化我們使用了工具,后面會介紹。?
  3. 通過GPT進行訓練:這個步驟是將輸入通過GPT的Fine-Tunning進行建模,也就是生成針對這些知識的模型。?
  4. 應用模型:在建模完成之后就可以對其進行應用了,也就是針對模型內容進行提問。?

整個過程需要調用OpenAI,它提供不同類型的API訂閱計劃,其中包括Developer、Production和Custom等計劃。每個計劃都提供不同的功能和API訪問權限,并且有不同的價格。因為并不是本文的重點,在這里不展開說明。?

創建數據集?

從上面的操作步驟來看,第2步轉化為問答格式對我們來說是一個挑戰。?

假設關于人工智能的歷史的領域知識需要教給GPT并將這些知識轉化為回答相關問題的模型。那就要轉化成如下的形式?

  • 問題:人工智能的歷史是什么? 答案:人工智能起源于20世紀50年代,是計算機科學的一個分支,旨在研究如何使計算機能夠像人一樣思考和行動。??
  • 問題:目前最先進的人工智能技術是什么? 答案:目前最先進的人工智能技術之一是深度學習,它是一種基于神經網絡的算法,可以對大量數據進行訓練,并從中提取特征和模式。?


當然整理成這樣問答的形式還不夠,需要形成GPT能夠理解的格式,如下所示?

  • 人工智能的歷史是什么?\n\n人工智能起源于20世紀50年代,是計算機科學的一個分支,旨在研究如何使計算機能夠像人一樣思考和行動。\n?
  • 目前最先進的人工智能技術是什么?\n\n目前最先進的人工智能技術之一是深度學習,它是一種基于神經網絡的算法,可以對大量數據進行訓練,并從中提取特征和模式。\n?

實際上就是在問題后面加上了“\n\n而在回答后面加上了“\n?

快速生成問答格式的模型?

解決了問答格式問題,新的問題又來了,我們如何將行業的知識都整理成問答的模式呢多數情況,我們從網上爬取大量的領域知識,或者找一大堆的領域文檔,不管是哪種情況,輸入文檔對于我們來說是最方便的。但是將大量的文本處理成問答的形式,使用正則表達式或者人工的方式顯然是不現實的。?

因此就需要引入一種叫做自動摘要(Automatic Summarization)的技術,它可以從一篇文章中提取出關鍵信息,并生成一個簡短的摘要。?

自動摘要有兩種類型:抽取式自動摘要和生成式自動摘要。抽取式自動摘要從原始文本中抽取出最具代表性的句子來生成摘要,而生成式自動摘要則是通過模型學習從原始文本中提取重要信息,并根據此信息生成摘要。實際上,自動摘要就是將輸入的文本生成問答模式。?

問題搞清楚了接下來就是上工具了,我們使用NLTK來搞事情,NLTK是Natural Language Toolkit的縮寫,是一個Python庫,主要用于自然語言處理領域。它包括了各種處理自然語言的工具和庫,如文本預處理、詞性標注、命名實體識別、語法分析、情感分析等。?

我們只需要將文本交給NLTK,它會對文本進行數據預處理操作,包括去除停用詞、分詞、詞性標注等。在預處理之后,可以使用NLTK中的文本摘要生成模塊來生成摘要。可以選擇不同的算法,例如基于詞頻、基于TF-IDF等。在生成摘要的同時,可以結合問題模板來生成問答式的摘要,使得生成的摘要更加易讀易懂。同時還可以對摘要進行微調,例如句子連貫性不強、答案不準確等,都可以進行調整。?

來看下面的代碼?

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline?

import nltk?


# 輸入文本?

text = """Natural Language Toolkit(自然語言處理工具包,縮寫 NLTK)是一套Python庫,用于解決人類語言數據的處理問題,例如:?

分詞?

詞性標注?

句法分析?

情感分析?

語義分析?

語音識別?

文本生成等等?

"""?


# 生成摘要?

sentences = nltk.sent_tokenize(text)?

summary = " ".join(sentences[:2]) # 取前兩個句子作為摘要?

print("摘要:", summary)?


# 用生成的摘要進行Fine-tuning,得到模型?

tokenizer = AutoTokenizer.from_pretrained("t5-base")?

model = AutoModelForSeq2SeqLM.from_pretrained("t5-base")?

text = "summarize: " + summary # 構造輸入格式?

inputs = tokenizer(text, return_tensors="pt", padding=True)?


# 訓練模型?

model_name = "first-model"?

model.save_pretrained(model_name)?


# 測試模型?

qa = pipeline("question-answering", model=model_name, tokenizer=model_name)?

context = "What is NLTK used for?" # 待回答問題?

answer = qa(questinotallow=context, cnotallow=text["input_ids"])?

print("問題:", context)?

print("回答:", answer["answer"])?

輸出結果如下:?

摘要: Natural Language Toolkit(自然語言處理工具包,縮寫 NLTK)是一套Python庫,用于解決人類語言數據的處理問題,例如: - 分詞 - 詞性標注?

問題: NLTK用來做什么的??

答案:自然語言處理工具包?

上面的代碼通過nltk.sent_tokenize方法對輸入的文本進行摘要的抽取,也就是進行問答格式化。然后調用Fine-tuning的AutoModelForSeq2SeqLM.from_pretrained方法對其進行建模,將名為“first-model”的模型進行保存。最后調用訓練好的模型測試結果。?

上面不僅通過NLTK生成了問答的摘要,還需要使用Fine-tuning的功能。Fine-tuning是在預訓練模型基礎上,通過少量的有標簽的數據對模型進行微調,以適應特定的任務實際上就是用原來的模型裝你的數據形成你的模型,當然你也可以調整模型的內部結果,例如隱藏層的設置和參數等等。這里我們只是使用了它最簡單的功能可以通過下圖了解更多Fine-tuning的信息。?

需要說明的是:AutoModelForSeq2SeqLM 類,從預訓練模型 "t5-base" 中加載 Tokenizer 和模型。?

AutoTokenizer 是 Hugging Face Transformers 庫中的一個類,可以根據預訓練模型自動選擇并加載合適的 Tokenizer。Tokenizer 的作用是將輸入的文本編碼為模型可以理解的格式,以便后續的模型輸入。?

AutoModelForSeq2SeqLM 也是 Hugging Face Transformers 庫中的一個類,可以根據預訓練模型自動選擇并加載適當的序列到序列模型。在這里,使用的是基于T5架構的序列到序列模型,用于生成摘要或翻譯等任務。在加載預訓練模型之后,可以使用此模型進行 Fine-tuning 或生成任務相關的輸出。?

Fine-tunning 和Hugging Face 到底什么關系??

上面我們對建模代碼進行了解釋,涉及到了Fine-tunning和Hugging Face的部分,可能聽起來比較懵。這里用一個例子幫助大家理解。?

假設你要做菜,雖然你已經有食材(行業知識)了,但是不知道如何做。于是你向廚師朋友請教,你告訴他你有什么食材(行業知識)以及要做什么菜(解決的問題),你的朋友基于他的經驗和知識(通用模型)給你提供一些建議,這個過程就是Fine-tuning(把行業知識放到通用模型中進行訓練)朋友的經驗和知識就是預先訓練的模型,你需要輸入行業知識和要解決的問題,并使用預先訓練的模型,當然可以對這個模型進行微調,比如:佐料的含量,炒菜的火候,目的就是為了解決你行業的問題。?

而 Hugging Face就是菜譜的倉庫(代碼中"t5-base"就是一個菜譜),它包含了很多定義好的菜譜(模型),比如:魚香肉絲、宮保雞丁、水煮肉片的做法。這些現成的菜譜,可以配合我們提供食材和需要做的菜創建出我們的菜譜。我們只需要對這些菜譜進行調整,然后進行訓練,就成了我們自己的菜譜。以后我們就可以用自己的菜譜進行做菜了(解決行業問題)。?

如何選擇適合自己的模型??

可以在 Hugging Face 的模型庫中搜索你需要的模型。如下圖所示,在 Hugging Face 的官網上,點擊"Models",可以看到模型的分類,同時也可以使用搜索框搜索模型名稱。?

如下圖所示,每個模型頁面都會提供模型的描述、用法示例、預訓練權重下載鏈接等相關信息。?

總結?

這里將整個行業知識從采集、轉化、訓練和使用的過程再和大家一起捋一遍。如下圖所示:?

  • 采集數據:通過網絡爬蟲和知識文檔的方式抽取行業知識,生成文本就可以了,比如String的字符串。?
  • 轉換成問答格式:NLTK的摘要功能生成問和答的摘要,然后輸入到GPT進行訓練。?
  • 通過GPT進行訓練:利用Hugging Face 現成的模型以及NLTK輸入的問答摘要進行模型訓練。?
  • 應用模型:將訓練好的模型保存以后,就可以提出你的問題獲得行業專業的答案了。?

作者介紹?

崔皓,51CTO社區編輯,資深架構師,擁有18年的軟件開發和架構經驗,10年分布式架構經驗。?


責任編輯:華軒 來源: 51CTO
相關推薦

2022-12-14 15:16:51

2018-03-14 10:44:34

數據庫MySQLMGR

2017-10-26 17:47:07

微服務架構優勢痛點

2025-02-24 10:10:20

ChatGPTC#代碼

2018-01-18 22:06:45

2019-05-13 10:56:30

假視頻篡改技術GAN

2020-03-30 15:12:27

Python開發錯誤

2020-11-09 14:15:23

代碼菜鳥老司機

2017-05-24 10:58:28

linux系統技巧

2015-09-08 09:38:11

2018-10-09 09:42:27

MySQL優化單表

2020-03-09 10:21:12

Java集合類 Guava

2021-04-09 09:51:52

CyclicBarri Java循環柵欄

2016-11-28 16:09:37

2018-09-28 15:06:41

MySQL優化指南數據庫

2024-06-04 09:48:14

自動駕駛模型

2022-03-30 15:30:38

程序員編程技術

2018-12-19 10:52:35

嵌入式CPU微處理器

2019-08-20 09:30:18

Spring Clou組件Eureka

2018-12-04 09:07:36

運維問題排查
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久小视频 | 欧美精品第一区 | 国产黄色一级电影 | www.成人在线视频 | 天天爽天天操 | 美女国内精品自产拍在线播放 | 婷婷毛片 | 久久久久国产 | 日韩在线h | 日韩中文字幕一区二区 | 欧美xxxx做受欧美 | 国产免费观看视频 | 粉嫩av在线 | 精品成人在线 | 久久精品二区亚洲w码 | 国产精品永久久久久久久www | 国产欧美精品一区二区三区 | 久久丝袜 | 成人在线观看免费 | 中日av| 91大神在线资源观看无广告 | 亚洲视频国产视频 | 天天草狠狠干 | 91精品国产综合久久久久 | 国产成人精品一区二区三区在线 | 国外成人在线视频 | 一区二区三区国产精品 | 中文字幕一区在线观看视频 | 国产成人精品久久二区二区91 | 国产欧美一区二区精品久导航 | 欧美精品一区二区蜜桃 | av一二三四 | 国产区一区 | 福利片一区二区 | 国产成人精品久久久 | 久草在线 | 91在线影院 | av在线天堂 | 毛片免费看的 | 欧美成人免费在线视频 | 精品乱码一区二区 |