AGI และ AI แห่งอนาคต

โมเดลภาษาขนาดใหญ่ด้วย Scikit-learn: คู่มือการใช้ Scikit-LLM อย่างครอบคลุม

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

โดยการรวมความสามารถในการประมวลผลภาษาที่ซับซ้อนของโมเดล เช่น ChatGPT เข้ากับเฟรมเวิร์ก Scikit-learn ที่มีประสิทธิภาพและใช้กันอย่างแพร่หลาย Scikit-LLM เสนอชุดเครื่องมือที่ไม่เหมือนใครสำหรับการสำรวจความซับซ้อนของข้อมูลข้อความ

Scikit-LLM ซึ่งสามารถเข้าถึงได้จากที่เก็บข้อมูล GitHub อย่างเป็นทางการ GitHub repository เป็นตัวแทนของการผสมผสานระหว่าง – AI ขั้นสูงของ Large Language Models (LLMs) เช่น GPT-3.5 ของ OpenAI และสภาพแวดล้อมที่ใช้งานง่ายของ Scikit-learn ชุดพักเกจ Python นี้ได้รับการออกแบบมาโดยเฉพาะสำหรับการวิเคราะห์ข้อความ ทำให้การประมวลผลภาษาธรรมชาติขั้นสูงเป็นไปได้และใช้งานง่าย

ทำไม Scikit-LLM?

สำหรับผู้ที่คุ้นเคยกับ Scikit-learn Scikit-LLM จะรู้สึกเหมือนกับการพัฒนาที่เป็นธรรมชาติ มันรักษา API ที่คุ้นเคย ทำให้ผู้ใช้สามารถใช้ฟังก์ชันเช่น .fit(), .fit_transform() และ .predict() ได้ ความสามารถในการรวมตัวประมาณค่าเข้ากับ Sklearn pipeline แสดงให้เห็นถึงความยืดหยุ่นของมัน ทำให้เป็นประโยชน์สำหรับผู้ที่ต้องการเพิ่มความสามารถในการเรียนรู้ของเครื่องจักรด้วยความเข้าใจภาษาขั้นสูง

ในบทความนี้ เราจะสำรวจ Scikit-LLM ตั้งแต่การติดตั้งไปจนถึงการประยุกต์ใช้จริงในการวิเคราะห์ข้อความ เราจะเรียนรู้วิธีการสร้างตัวจำแนกข้อความแบบมีผู้ดูแลและแบบไม่มีผู้ดูแล และสำรวจคุณสมบัติขั้นสูง เช่น การเวกเตอร์ข้อความและการจำแนกประเภท

Scikit-learn: รากฐานของการเรียนรู้ของเครื่องจักร

ก่อนที่จะเจาะลึก Scikit-LLM มาทำความรู้จักกับ Scikit-learn กันก่อน Scikit-learn เป็นชื่อที่มีชื่อเสียงในด้านการเรียนรู้ของเครื่องจักร โดยมีชุดอัลกอริทึมที่ครอบคลุม ความเรียบง่าย และความง่ายในการใช้งาน Scikit-learn เป็นเครื่องมือหลักสำหรับนักวิทยาศาสตร์ข้อมูลหลายคน

สร้างขึ้นบนพื้นฐานของไลบรารีทางวิทยาศาสตร์ของ Python (NumPy, SciPy และ Matplotlib) Scikit-learn มีความโดดเด่นด้วยการผสมผสานกับ Python’s scientific stack และความมีประสิทธิภาพกับ NumPy arrays และ SciPy sparse matrices

ที่แก่นแท้ Scikit-learn คือเรื่องของความสม่ำเสมอและความง่ายในการใช้งาน ไม่ว่าคุณจะเลือกอัลกอริทึมใด ขั้นตอนจะยังคงเหมือนเดิม – นำเข้าคลาส ใช้วิธี ‘fit’ กับข้อมูลของคุณ และใช้ ‘predict’ หรือ ‘transform’ เพื่อใช้โมเดล ความเรียบง่ายนี้ช่วยลดความชันของการเรียนรู้ ทำให้เป็นจุดเริ่มต้นที่เหมาะสำหรับผู้ที่ใหม่ต่อการเรียนรู้ของเครื่องจักร

การตั้งค่าสภาพแวดล้อม

ก่อนที่จะลงรายละเอียด มันสำคัญที่จะตั้งค่าสภาพแวดล้อมการทำงาน สำหรับบทความนี้ Google Colab จะเป็นแพลตฟอร์มที่เลือก โดยให้สภาพแวดล้อมที่เข้าถึงได้ง่ายและทรงพลังสำหรับการรันโค้ด Python

การติดตั้ง

%%capture
!pip install scikit-llm watermark

<p>%load_ext watermark
%watermark -a &quot;your-username&quot; -vmp scikit-llm

การรับและตั้งค่า API Keys

Scikit-LLM ต้องการ OpenAI API Key สำหรับการเข้าถึงโมเดลภาษาขนาดใหญ่

from skllm.config import SKLLMConfig

<p>OPENAI_API_KEY = &quot;sk-****&quot;
OPENAI_ORG_ID = &quot;org-****&quot;</p>

<p>SKLLMConfig.set_openai_key(OPENAI_API_KEY)
SKLLMConfig.set_openai_org(OPENAI_ORG_ID)</p>

Zero-Shot GPTClassifier

ZeroShotGPTClassifier เป็นคุณสมบัติที่น่าประทับใจของ Scikit-LLM ที่ใช้ความสามารถของ ChatGPT ในการจำแนกข้อความตามป้ายกำกับเชิงอธิบาย โดยไม่ต้องฝึกโมเดลตามแบบดั้งเดิม

การนำเข้าไลบรารีและชุดข้อมูล

from skllm import ZeroShotGPTClassifier
from skllm.datasets import get_classification_dataset

<p>X, y = get_classification_dataset()

การเตรียมข้อมูล

การแบ่งข้อมูลออกเป็นชุดฝึกอบรมและทดสอบ:

def training_data(data):
return data[:8] + data[10:18] + data[20:28]

<p>def testing_data(data):
return data[8:10] + data[18:20] + data[28:30]</p>

<p>X_train, y_train = training_data(X), training_data(y)
X_test, y_test = testing_data(X), testing_data(y)</p>

การฝึกอบรมโมเดลและการทำนาย

การกำหนดและฝึกอบรม ZeroShotGPTClassifier:

clf = ZeroShotGPTClassifier(openai_model=&quot;gpt-3.5-turbo&quot;)
clf.fit(X_train, y_train)

predicted_labels = clf.predict(X_test)

การประเมิน

การประเมินประสิทธิภาพของโมเดล:

from sklearn.metrics import accuracy_score

<p>print(f&quot;Accuracy: {accuracy_score(y_test, predicted_labels):.2f}&quot;)</p>

การสรุปข้อความด้วย Scikit-LLM

การสรุปข้อความเป็นคุณสมบัติที่สำคัญในด้าน NLP และ Scikit-LLM ใช้ความสามารถของ GPT ในด้านนี้ผ่านโมดูล GPTSummarizer คุณสมบัตินี้โดดเด่นด้วยความสามารถในการปรับเปลี่ยน ทำให้สามารถใช้งานได้ทั้งแบบอิสระสำหรับการสร้างสรุปและเป็นขั้นตอนการประมวลผลล่วงหน้าในกระบวนการทำงานที่กว้างขึ้น

การประยุกต์ใช้ GPTSummarizer:

  1. การสรุปแบบอิสระ: GPTSummarizer สามารถสร้างสรุปที่สั้นและกระชับจากเอกสารขนาดใหญ่ ซึ่งมีคุณค่าสำหรับการวิเคราะห์ข้อมูลอย่างรวดเร็วหรือการดึงข้อมูลสำคัญจากปริมาณข้อมูลขนาดใหญ่
  2. การประมวลผลล่วงหน้าสำหรับการดำเนินการอื่นๆ: ในกระบวนการที่มีหลายขั้นตอนของการวิเคราะห์ข้อความ GPTSummarizer สามารถใช้เพื่อ壓縮ข้อมูลข้อความได้ ซึ่งช่วยลดภาระการประมวลผลและทำให้การวิเคราะห์ต่อๆ ไปง่ายขึ้นโดยไม่สูญเสียข้อมูลที่สำคัญ

การนำการสรุปข้อความไปใช้:

กระบวนการนำการสรุปข้อความไปใช้ใน Scikit-LLM ประกอบด้วย

  1. การนำเข้า GPTSummarizer และชุดข้อมูลที่เกี่ยวข้อง
  2. การสร้างตัวสรุปข้อความ GPTSummarizer โดยระบุพารามิเตอร์ เช่น max_words เพื่อควบคุมความยาวของสรุป
  3. การนำ fit_transform ไปใช้เพื่อสร้างสรุป

ควรทราบว่าพารามิเตอร์ max_words ทำหน้าที่เป็นแนวทางมากกว่าขีดจำกัดที่เข้มงวด เพื่อให้สรุปยังคงรักษาความสอดคล้องและความเกี่ยวข้อง แม้ว่าจะเกินจำนวนคำที่กำหนดเล็กน้อย

ผลกระทบในวงกว้างของ Scikit-LLM

Scikit-LLM มีคุณสมบัติหลากหลาย รวมถึงการจำแนกประเภทข้อความ การสรุปข้อความ การเวกเตอร์ข้อความ การแปล และความสามารถในการจัดการข้อมูลที่ไม่มีการกำกับ ทำให้เป็นเครื่องมือที่ครอบคลุมสำหรับการวิเคราะห์ข้อความที่หลากหลาย นี่คือความยืดหยุ่นและความง่ายในการใช้งานที่ตอบสนองทั้งผู้เริ่มต้นและผู้เชี่ยวชาญในด้าน AI และการเรียนรู้ของเครื่องจักร

การประยุกต์ใช้ที่เป็นไปได้:

  • การวิเคราะห์ข้อเสนอแนะของลูกค้า: การจำแนกข้อเสนอแนะของลูกค้าออกเป็นประเภท เช่น บวก ลบ หรือเป็นกลาง ซึ่งสามารถแจ้งการปรับปรุงการบริการลูกค้าหรือกลยุทธ์การพัฒนาผลิตภัณฑ์
  • การจำแนกประเภทบทความข่าว: การแบ่งบทความข่าวออกเป็นหัวข้อต่างๆ สำหรับการให้บริการข่าวส่วนบุคคลหรือการวิเคราะห์แนวโน้ม
  • การแปลภาษา: การแปลเอกสารสำหรับการดำเนินงานหลายประเทศหรือการใช้ส่วนบุคคล
  • การสรุปเอกสาร: การเข้าใจสาระสำคัญของเอกสารขนาดใหญ่หรือการสร้างเอกสารที่สั้นลงสำหรับการเผยแพร่

ข้อดีของ Scikit-LLM:

  • ความแม่นยำ: ประสิทธิผลที่พิสูจน์แล้วในงาน เช่น การจำแนกประเภทข้อความแบบไม่มีการฝึกอบรมและสรุปข้อความ
  • ความเร็ว: เหมาะสำหรับการประมวลผลแบบเรียลไทม์เนื่องจากความมีประสิทธิภาพ
  • ความสามารถในการปรับขนาด: สามารถจัดการข้อมูลข้อความขนาดใหญ่ ทำให้เหมาะสำหรับการใช้งานข้อมูลขนาดใหญ่

สรุป: การใช้ Scikit-LLM สำหรับการวิเคราะห์ข้อความขั้นสูง

สรุปแล้ว Scikit-LLM เป็นเครื่องมือที่ทรงพลัง ยืดหยุ่น และใช้งานง่ายในด้านการวิเคราะห์ข้อความ ความสามารถในการผสมผสานโมเดลภาษาขนาดใหญ่เข้ากับกระบวนการเรียนรู้ของเครื่องจักรแบบดั้งเดิม และลักษณะที่เป็นโอเพ่นซอร์ส ทำให้เป็นสินทรัพย์ที่มีค่าสำหรับนักวิจัย ผู้พัฒนา และธุรกิจ ไม่ว่าจะเป็นการปรับปรุงการบริการลูกค้า การวิเคราะห์แนวโน้มข่าว การอำนวยความสะดวกในการสื่อสารหลายภาษา หรือการดึงสาระสำคัญจากเอกสารขนาดใหญ่ Scikit-LLM เสนอทางออกที่แข็งแกร่ง

ฉันใช้เวลาที่ผ่านมา 5 ปีในการศึกษาสิ่งที่น่าสนใจเกี่ยวกับ Machine Learning และ Deep Learning ความเชี่ยวชาญและความหลงใหลของฉันทำให้ฉันเข้าร่วมในโครงการพัฒนาซอฟต์แวร์มากกว่า 50 โครงการที่มีความหลากหลาย โดยมุ่งเน้นไปที่ AI/ML ความอยากรู้อยากเห็นของฉันยังทำให้ฉันสนใจในด้าน Natural Language Processing ซึ่งเป็นสาขาที่ฉันต้องการสำรวจต่อไป