top of page
Search

จาก PDF สู่ Token: เบื้องหลังการเตรียมข้อมูลสำหรับ RAG

  • chakrit00
  • May 7
  • 1 min read

Updated: May 10

PDF 1 ไฟล์ขนาด 50M เมื่อแปลงเป็น Tokens แล้วจะได้กี่ Tokens และ จำนวน Tokens แปลงเป็น Bytes จะได้กี่ Bytes บทความนี้มีคำตอบครับ



Token คืออะไร


Token คือหน่วยย่อยของข้อความที่โมเดลภาษาขนาดใหญ่ เช่น GPT-3.5, GPT-4 หรือ GPT-4o ใช้ในการประมวลผลข้อมูล ตัวอย่างเช่น คำว่า "ChatGPT" อาจถูกแปลงเป็น 2 Token ในโมเดลหนึ่ง แต่ในภาษาไทย เช่นคำว่า “สวัสดี” อาจถูกแยกออกเป็นหลาย Token ซึ่งจำนวน Token ที่แปลงออกมานั้นขึ้นอยู่กับลักษณะของโมเดลและการเข้ารหัสข้อความภายใน



การแปลงจาก Context หรือ Words เป็น Tokens
การแปลงจาก Context หรือ Words เป็น Tokens

เปรียบเทียบ Token แต่ละโมเดล


คำว่า “สวัสดี”:

- GPT-4o-mini แปลงเป็นประมาณ 5 Tokens

- GPT-3.5 และ GPT-4 แปลงเป็นประมาณ 9 Tokens

    

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


จำนวน Tokens ที่แตกต่างกันของแต่ละ Model
จำนวน Tokens ที่แตกต่างกันของแต่ละ Model

ความแตกต่างระหว่าง LLM กับ Embedding Model


แม้ว่า LLM และ Embedding Model จะสามารถแปลงข้อความให้เป็น Token ได้เหมือนกัน แต่จุดประสงค์และลักษณะการใช้งานนั้นแตกต่างกัน:


- **LLM (Language Model)**: ใช้สำหรับสร้างข้อความใหม่หรือทำนายข้อความถัดไป

- **Embedding Model**: ใช้สำหรับแปลงข้อความเป็นเวกเตอร์เพื่อคำนวณความใกล้เคียง (similarity) เช่นในระบบค้นหาด้วย RAG โดยโมเดลที่นิยมใช้ ได้แก่ `text-embedding-ada-002`, `text-embedding-3-large` และ `text-embedding-3-small` ซึ่งคำว่า “สวัสดี” จะได้ 6 tokens เท่ากัน




ความแตกต่างระหว่าง Embedding Models
ความแตกต่างระหว่าง Embedding Models

การทดสอบ: แปลงเอกสาร PDF เป็น Token


เพื่อศึกษาประสิทธิภาพในการแปลงเอกสาร PDF เป็น Token ทีมงานได้ดำเนินการทดสอบโดยใช้รายงานประจำปีจากหน่วยงานราชการของประเทศไทยจำนวน 30 ฉบับ ซึ่งเผยแพร่ต่อสาธารณะ โดยขั้นตอนการทดสอบประกอบด้วย:


1. แปลงไฟล์ PDF เป็นข้อความในรูปแบบข้อความล้วน (Plain Text)

2. แปลงข้อความดังกล่าวให้เป็น Token ด้วยโมเดล text-embedding-ada-002

3. คำนวณขนาดข้อความ plan text ในหน่วย Byte

4. วิเคราะห์ค่าเฉลี่ยในระดับหน้าเอกสาร ทั้งด้านขนาดข้อความ (Bytes), จำนวน Token




แนวทางการแปลงจาก PDF เป็น Tokens และเป็น Bytes ตามลำดับ
แนวทางการแปลงจาก PDF เป็น Tokens และเป็น Bytes ตามลำดับ

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


ผลการทดสอบ


จากการแปลงเอกสาร PDF จำนวน 30 ฉบับ พบข้อมูลเชิงวิเคราะห์ที่น่าสนใจ ดังนี้:

  • เอกสาร PDF ขนาดประมาณ 20–50 เมกะไบต์ เมื่อแปลงเป็นข้อความล้วน (Plain Text) จะมีขนาดลดลงเหลือเฉลี่ยประมาณ 450–470 กิโลไบต์

  • ขนาดเฉลี่ยของข้อความต่อหน้าอยู่ที่ประมาณ 3.3 กิโลไบต์

  • เมื่อแปลงข้อความเป็น Token โดยใช้โมเดล text-embedding-ada-002 พบว่าในแต่ละหน้ามีจำนวน Token เฉลี่ยอยู่ระหว่าง 730–750 Token

  • จากการวิเคราะห์ พบว่า Token หนึ่งหน่วยมีขนาดเฉลี่ยอยู่ที่ประมาณ 4-5 ไบต์



สรุปผลการทดสอบพบว่า 1 Tokens เฉลี่ยอยู่ที่ 4-5 Bytes
สรุปผลการทดสอบพบว่า 1 Tokens เฉลี่ยอยู่ที่ 4-5 Bytes

สรุป

จากการทดสอบเบื้องต้นสามารถสรุปได้ว่า:

  • Token หนึ่งหน่วยมีขนาดประมาณ 4-5 Byte

  • โมเดลฝังความหมาย (Embedding Models) เช่น text-embedding-ada-002 ได้แสดงให้เห็นถึงความเหมาะสมในการประยุกต์ใช้งานกับเอกสารภาษาไทย โดยเฉพาะในบริบทของระบบ RAG

  • การแปลง PDF เป็น Token ถือเป็นขั้นตอนสำคัญก่อนนำเข้าสู่เวกเตอร์ฐานข้อมูล (Vector Database) เพื่อใช้ในการค้นหาและตอบคำถามจากเนื้อหาเอกสารอย่างแม่นยำ




 
 
 

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page