ต้นขั้ว พลังของการจัดอันดับใหม่และการดึงข้อมูลแบบสองขั้นตอนสำหรับการดึงข้อมูลรุ่นเสริม - Unite.AI
เชื่อมต่อกับเรา

ปัญญาประดิษฐ์ทั่วไป

พลังของการจัดอันดับใหม่และการดึงข้อมูลแบบสองขั้นตอนสำหรับการดึงข้อมูลรุ่นเสริม

mm
วันที่อัพเดท on
การดึงข้อมูล Augmented Generation

เมื่อพูดถึงการประมวลผลภาษาธรรมชาติ (NLP) และการดึงข้อมูล ความสามารถในการดึงข้อมูลที่เกี่ยวข้องอย่างมีประสิทธิภาพและแม่นยำเป็นสิ่งสำคัญยิ่ง ในขณะที่สาขานี้มีการพัฒนาอย่างต่อเนื่อง เทคนิคและวิธีการใหม่ๆ กำลังได้รับการพัฒนาเพื่อปรับปรุงประสิทธิภาพของระบบการดึงข้อมูล โดยเฉพาะอย่างยิ่งในบริบทของ การดึงข้อมูล Augmented Generation (แร็ก). เทคนิคหนึ่งดังกล่าวเรียกว่าการดึงข้อมูลแบบสองขั้นตอนด้วยการจัดอันดับใหม่ ได้กลายเป็นโซลูชันที่มีประสิทธิภาพในการแก้ไขข้อจำกัดโดยธรรมชาติของวิธีการดึงข้อมูลแบบดั้งเดิม

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

ทำความเข้าใจกับการสร้างเสริมการดึงข้อมูล (RAG)

ตัวแทน Swe LLM

ก่อนที่จะเจาะลึกถึงข้อมูลเฉพาะของการดึงข้อมูลแบบสองขั้นตอนและการจัดอันดับใหม่ เรามาทบทวนแนวคิดของการดึงข้อมูล Augmented Generation (RAG) กันก่อน RAG เป็นเทคนิคที่ขยายความรู้และความสามารถของโมเดลภาษาขนาดใหญ่ (LLM) โดยให้สามารถเข้าถึงแหล่งข้อมูลภายนอก เช่น ฐานข้อมูลหรือคอลเลกชันเอกสาร อ้างอิงเพิ่มเติมจากบทความ “เจาะลึกถึงการสร้าง Augmented Augmented ใน LLM"

กระบวนการ RAG ทั่วไปเกี่ยวข้องกับขั้นตอนต่อไปนี้:

  1. สอบถาม: ผู้ใช้ตั้งคำถามหรือให้คำแนะนำกับระบบ
  2. การแก้ไข: ระบบจะสืบค้นฐานข้อมูลเวกเตอร์หรือคอลเลกชันเอกสารเพื่อค้นหาข้อมูลที่เกี่ยวข้องกับการสืบค้นของผู้ใช้
  3. การขยาย: ข้อมูลที่ดึงมาจะถูกรวมเข้ากับคำถามหรือคำสั่งดั้งเดิมของผู้ใช้
  4. รุ่น: โมเดลภาษาประมวลผลอินพุตเสริมและสร้างการตอบสนอง โดยใช้ประโยชน์จากข้อมูลภายนอกเพื่อเพิ่มความแม่นยำและความครอบคลุมของเอาต์พุต

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

ความจำเป็นในการดึงข้อมูลและการจัดอันดับใหม่แบบสองขั้นตอน

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

เพื่อจัดการกับความท้าทายนี้ นักวิจัยและผู้ปฏิบัติงานได้หันมาใช้การดึงข้อมูลแบบสองขั้นตอนพร้อมการจัดอันดับใหม่ แนวทางนี้เกี่ยวข้องกับกระบวนการสองขั้นตอน:

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

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

ประโยชน์ของการดึงข้อมูลและการจัดอันดับใหม่แบบสองขั้นตอน

การใช้การดึงข้อมูลแบบสองขั้นตอนพร้อมตัวจัดอันดับใหม่ให้ประโยชน์ที่สำคัญหลายประการในบริบทของระบบ RAG:

  1. ปรับปรุงความแม่นยำ: ด้วยการจัดอันดับเอกสารที่ดึงมาในตอนแรกใหม่และเลื่อนระดับเอกสารที่เกี่ยวข้องมากที่สุดไปไว้ด้านบนสุด ระบบจึงสามารถให้ข้อมูลที่แม่นยำและแม่นยำยิ่งขึ้นแก่โมเดลภาษา ซึ่งนำไปสู่การตอบกลับที่สร้างขึ้นคุณภาพสูงขึ้น
  2. ปัญหานอกโดเมนบรรเทาลง: โมเดลการฝังที่ใช้สำหรับการดึงข้อมูลแบบดั้งเดิมมักจะได้รับการฝึกฝนเกี่ยวกับคลังข้อความสำหรับวัตถุประสงค์ทั่วไป ซึ่งอาจไม่สามารถจับภาษาและความหมายเฉพาะโดเมนได้อย่างเพียงพอ ในทางกลับกัน โมเดลการจัดอันดับใหม่สามารถฝึกกับข้อมูลเฉพาะโดเมนได้ ซึ่งช่วยลดปัญหา "นอกโดเมน" และปรับปรุงความเกี่ยวข้องของเอกสารที่ดึงมาภายในโดเมนเฉพาะทาง
  3. scalability: แนวทางสองขั้นตอนช่วยให้ปรับขนาดได้อย่างมีประสิทธิภาพโดยใช้ประโยชน์จากวิธีการดึงข้อมูลที่รวดเร็วและมีน้ำหนักเบาในระยะเริ่มแรก ขณะเดียวกันก็สงวนกระบวนการจัดอันดับใหม่ที่ต้องใช้การคำนวณมากขึ้นสำหรับชุดย่อยของเอกสารที่มีขนาดเล็กลง
  4. ความยืดหยุ่น: แบบจำลองการจัดอันดับใหม่สามารถสลับหรืออัพเดตได้โดยอิสระจากวิธีการดึงข้อมูลเบื้องต้น ซึ่งให้ความยืดหยุ่นและความสามารถในการปรับตัวให้เข้ากับความต้องการที่เปลี่ยนแปลงไปของระบบ

ColBERT: ปฏิสัมพันธ์ล่าช้าที่มีประสิทธิภาพและประสิทธิผล

หนึ่งในโมเดลที่โดดเด่นในขอบเขตของการจัดอันดับใหม่คือ ColBERT (การโต้ตอบล่าช้าตามบริบทเหนือ BERT- ColBERT คือโมเดลการจัดเรียงเอกสารที่ใช้ประโยชน์จากความสามารถในการทำความเข้าใจภาษาเชิงลึกของ BERT ในขณะเดียวกันก็แนะนำกลไกการโต้ตอบแบบใหม่ที่เรียกว่า "การโต้ตอบล่าช้า"

ColBERT: การค้นหาข้อความที่มีประสิทธิภาพและประสิทธิผลผ่านการโต้ตอบล่าช้าตามบริบทผ่าน BERT

ColBERT: การค้นหาข้อความที่มีประสิทธิภาพและประสิทธิผลผ่านการโต้ตอบล่าช้าตามบริบทผ่าน BERT

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

สถาปัตยกรรมการโต้ตอบล่าช้าของ ColBERT มอบคุณประโยชน์หลายประการ รวมถึงประสิทธิภาพการประมวลผลที่ดีขึ้น ความสามารถในการปรับขนาดด้วยขนาดการรวบรวมเอกสาร และการนำไปประยุกต์ใช้จริงในสถานการณ์จริง นอกจากนี้ ColBERT ยังได้รับการปรับปรุงเพิ่มเติมด้วยเทคนิคต่างๆ เช่น การควบคุมแบบ denoised และการบีบอัดส่วนที่เหลือ (ใน ColBERTv2) ซึ่งปรับปรุงกระบวนการฝึกอบรมและลดพื้นที่ว่างของแบบจำลองในขณะที่ยังคงประสิทธิภาพในการดึงข้อมูลในระดับสูง

ข้อมูลโค้ดนี้สาธิตวิธีกำหนดค่าและใช้โมเดล jina-colbert-v1-en สำหรับการจัดทำดัชนีคอลเลกชันเอกสาร โดยใช้ประโยชน์จากความสามารถในการจัดการบริบทขนาดยาวได้อย่างมีประสิทธิภาพ

การใช้การดึงข้อมูลแบบสองขั้นตอนด้วยการจัดอันดับใหม่

ตอนนี้เรามีความเข้าใจในหลักการเบื้องหลังการดึงข้อมูลและการจัดอันดับใหม่แบบสองขั้นตอนแล้ว เรามาสำรวจการใช้งานจริงในบริบทของระบบ RAG กันดีกว่า เราจะใช้ประโยชน์จากไลบรารีและเฟรมเวิร์กยอดนิยมเพื่อสาธิตการบูรณาการเทคนิคเหล่านี้

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

ก่อนที่เราจะเจาะลึกโค้ด เรามาตั้งค่าสภาพแวดล้อมการพัฒนาของเรากันก่อน เราจะใช้ Python และไลบรารี NLP ยอดนิยมหลายแห่ง รวมถึง Hugging Face Transformers, Sentence Transformers และ LanceDB

# Install required libraries
!pip install datasets huggingface_hub sentence_transformers lancedb

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

เพื่อจุดประสงค์ในการสาธิต เราจะใช้ชุดข้อมูล “ai-arxiv-chunked” จากชุดข้อมูล Hugging Face ซึ่งมีเอกสาร ArXiv มากกว่า 400 ฉบับเกี่ยวกับการเรียนรู้ของเครื่อง การประมวลผลภาษาธรรมชาติ และโมเดลภาษาขนาดใหญ่

from datasets import load_dataset
dataset = load_dataset("jamescalam/ai-arxiv-chunked", split="train")
<pre>

ต่อไป เราจะประมวลผลข้อมูลล่วงหน้าและแบ่งออกเป็นส่วนเล็กๆ เพื่อความสะดวกในการเรียกค้นและประมวลผลอย่างมีประสิทธิภาพ

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
def chunk_text(text, chunk_size=512, overlap=64):
tokens = tokenizer.encode(text, return_tensors="pt", truncation=True)
chunks = tokens.split(chunk_size - overlap)
texts = [tokenizer.decode(chunk) for chunk in chunks]
return texts
chunked_data = []
for doc in dataset:
text = doc["chunk"]
chunked_texts = chunk_text(text)
chunked_data.extend(chunked_texts)
สำหรับขั้นตอนการดึงข้อมูลเบื้องต้น เราจะใช้โมเดล Sentence Transformer เพื่อเข้ารหัสเอกสารและการสืบค้นของเราให้เป็นการแสดงเวกเตอร์หนาแน่น จากนั้นทำการค้นหาเพื่อนบ้านที่ใกล้ที่สุดโดยประมาณโดยใช้ฐานข้อมูลเวกเตอร์ เช่น LanceDB
from sentence_transformers import SentenceTransformer
from lancedb import lancedb
# Load Sentence Transformer model
model = SentenceTransformer('all-MiniLM-L6-v2')
# Create LanceDB vector store
db = lancedb.lancedb('/path/to/store')
db.create_collection('docs', vector_dimension=model.get_sentence_embedding_dimension())
# Index documents
for text in chunked_data:
vector = model.encode(text).tolist()
db.insert_document('docs', vector, text)
from sentence_transformers import SentenceTransformer
from lancedb import lancedb
# Load Sentence Transformer model
model = SentenceTransformer('all-MiniLM-L6-v2')
# Create LanceDB vector store
db = lancedb.lancedb('/path/to/store')
db.create_collection('docs', vector_dimension=model.get_sentence_embedding_dimension())
# Index documents
for text in chunked_data:
vector = model.encode(text).tolist()
db.insert_document('docs', vector, text)

ด้วยการจัดทำดัชนีเอกสารของเรา เราสามารถดำเนินการดึงข้อมูลเบื้องต้นได้โดยการค้นหาเพื่อนบ้านที่ใกล้ที่สุดกับเวกเตอร์แบบสอบถามที่กำหนด

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
def chunk_text(text, chunk_size=512, overlap=64):
tokens = tokenizer.encode(text, return_tensors="pt", truncation=True)
chunks = tokens.split(chunk_size - overlap)
texts = [tokenizer.decode(chunk) for chunk in chunks]
return texts
chunked_data = []
for doc in dataset:
text = doc["chunk"]
chunked_texts = chunk_text(text)
chunked_data.extend(chunked_texts)

การจัดอันดับใหม่

หลังจากการเรียกค้นครั้งแรก เราจะใช้แบบจำลองการจัดอันดับใหม่เพื่อจัดลำดับเอกสารที่ดึงมาใหม่ตามความเกี่ยวข้องกับแบบสอบถาม ในตัวอย่างนี้ เราจะใช้การจัดอันดับใหม่ของ ColBERT ซึ่งเป็นโมเดลที่ใช้หม้อแปลงที่รวดเร็วและแม่นยำ ซึ่งออกแบบมาเพื่อการจัดอันดับเอกสารโดยเฉพาะ

from lancedb.rerankers import ColbertReranker
reranker = ColbertReranker()
# Rerank initial documents
reranked_docs = reranker.rerank(query, initial_docs)

พื้นที่ reranked_docs ขณะนี้รายการมีเอกสารที่เรียงลำดับใหม่ตามความเกี่ยวข้องกับแบบสอบถาม ตามที่กำหนดโดย ColBERT จัดอันดับใหม่

การเสริมและการสร้าง

เมื่อมีเอกสารที่ได้รับการจัดอันดับใหม่และเกี่ยวข้องอยู่ในมือ เราก็สามารถดำเนินการในขั้นตอนการเพิ่มและการสร้างไปป์ไลน์ RAG ได้ เราจะใช้โมเดลภาษาจากไลบรารี Hugging Face Transformers เพื่อสร้างคำตอบสุดท้าย

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("t5-base")
model = AutoModelForSeq2SeqLM.from_pretrained("t5-base")
# Augment query with reranked documents
augmented_query = query + " " + " ".join(reranked_docs[:3])
# Generate response from language model
input_ids = tokenizer.encode(augmented_query, return_tensors="pt")
output_ids = model.generate(input_ids, max_length=500)
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)

ในข้อมูลโค้ดด้านบน เราจะเพิ่มการสืบค้นเดิมด้วยเอกสารที่ได้รับการจัดอันดับใหม่สามอันดับแรก โดยสร้าง augmented_query- จากนั้นเราจะส่งแบบสอบถามเสริมนี้ไปยังโมเดลภาษา T5 ซึ่งสร้างการตอบกลับตามบริบทที่ให้ไว้

พื้นที่ response ตัวแปรจะมีผลลัพธ์สุดท้าย โดยใช้ประโยชน์จากข้อมูลภายนอกจากเอกสารที่ดึงข้อมูลและจัดอันดับใหม่ เพื่อให้คำตอบที่แม่นยำและครอบคลุมมากขึ้นสำหรับคำถามต้นฉบับ

เทคนิคขั้นสูงและข้อควรพิจารณา

แม้ว่าการดำเนินการที่เรากล่าวถึงจะเป็นรากฐานที่มั่นคงสำหรับการรวมการดึงข้อมูลแบบสองขั้นตอนและการจัดอันดับใหม่เข้ากับระบบ RAG แต่ก็มีเทคนิคและข้อควรพิจารณาขั้นสูงหลายประการที่สามารถปรับปรุงประสิทธิภาพและความทนทานของแนวทางเพิ่มเติมได้

  1. การขยายข้อความค้นหา: เพื่อปรับปรุงขั้นตอนการเรียกค้นเริ่มต้น คุณสามารถใช้เทคนิคการขยายแบบสอบถาม ซึ่งเกี่ยวข้องกับการเพิ่มการสืบค้นเดิมด้วยคำหรือวลีที่เกี่ยวข้อง ซึ่งสามารถช่วยเรียกค้นชุดเอกสารที่อาจเกี่ยวข้องได้หลากหลายมากขึ้น
  2. การจัดอันดับใหม่ทั้งมวล: แทนที่จะพึ่งพาโมเดลการจัดอันดับใหม่เพียงรูปแบบเดียว คุณสามารถรวมผู้จัดอันดับใหม่หลายรายการเข้าเป็นชุดเดียวได้ โดยใช้ประโยชน์จากจุดแข็งของโมเดลต่างๆ เพื่อปรับปรุงประสิทธิภาพโดยรวม
  3. การปรับแต่ง Rerankers อย่างละเอียด: แม้ว่าโมเดลการจัดอันดับใหม่ที่ได้รับการฝึกล่วงหน้าจะมีประสิทธิภาพ แต่การปรับแต่งโมเดลในข้อมูลเฉพาะโดเมนอย่างละเอียดจะช่วยเพิ่มความสามารถในการจับความหมายเฉพาะโดเมนและสัญญาณที่เกี่ยวข้องได้
  4. การดึงข้อมูลซ้ำและการจัดอันดับใหม่: ในบางกรณี การเรียกข้อมูลและการจัดอันดับซ้ำเพียงครั้งเดียวอาจไม่เพียงพอ คุณสามารถสำรวจวิธีการวนซ้ำได้ โดยที่เอาต์พุตของโมเดลภาษาจะถูกใช้เพื่อปรับปรุงกระบวนการสืบค้นและดึงข้อมูล ซึ่งนำไปสู่ระบบที่มีการโต้ตอบและไดนามิกมากขึ้น
  5. สร้างสมดุลระหว่างความเกี่ยวข้องและความหลากหลาย: แม้ว่าผู้จัดอันดับใหม่จะมุ่งส่งเสริมเอกสารที่เกี่ยวข้องมากที่สุด แต่การรักษาสมดุลระหว่างความเกี่ยวข้องและความหลากหลายก็เป็นสิ่งสำคัญ การผสมผสานเทคนิคการส่งเสริมความหลากหลายสามารถช่วยป้องกันไม่ให้ระบบแคบหรือลำเอียงมากเกินไปในแหล่งข้อมูล
  6. ตัวชี้วัดการประเมิน: เพื่อประเมินประสิทธิผลของแนวทางการดึงข้อมูลและการจัดอันดับใหม่แบบสองขั้นตอน คุณจะต้องกำหนดเกณฑ์ชี้วัดการประเมินที่เหมาะสม สิ่งเหล่านี้อาจรวมถึงตัววัดการดึงข้อมูลแบบดั้งเดิม เช่น ความแม่นยำ การเรียกคืน และอันดับเฉลี่ยซึ่งกันและกัน (MRR) รวมถึงตัววัดเฉพาะงานที่ได้รับการปรับแต่งให้เหมาะกับกรณีการใช้งานของคุณ

สรุป

การเรียกข้อมูล Augmented Generation (RAG) ได้กลายเป็นเทคนิคอันทรงพลังในการเพิ่มขีดความสามารถของโมเดลภาษาขนาดใหญ่โดยใช้ประโยชน์จากแหล่งข้อมูลภายนอก อย่างไรก็ตาม วิธีการดึงข้อมูลแบบดั้งเดิมมักจะประสบปัญหาในการระบุเอกสารที่เกี่ยวข้องมากที่สุด ซึ่งนำไปสู่ประสิทธิภาพการทำงานที่ต่ำกว่ามาตรฐาน

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

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