กลับสู่คอร์สเรียน
AI030 Professional

พื้นฐานของปัญญาประดิษฐ์เชิงสร้างสรรค์ในภาษา Python

คู่มือที่ครอบคลุมเกี่ยวกับการเข้าใจและประยุกต์ใช้ปัญญาประดิษฐ์เชิงสร้างสรรค์ (Generative AI) และโมเดลภาษาขนาดใหญ่ (LLMs) หลักสูตรนี้ครอบคลุมการเปลี่ยนจากพื้นฐานทางทฤษฎีไปสู่การพัฒนาเชิงปฏิบัติโดยใช้ภาษา Python รวมถึง GANs, โมเดลการกระจาย (diffusion models), โครงข่ายแบบทรานซ์ฟอร์เมอร์ (transformers), การปรับแต่งแบบเฉพาะเจาะจง (fine-tuning) และการนำไปใช้งานจริงในสภาพแวดล้อมผลิต

4.8
21.0h
964 ผู้เรียน
5 การถูกใจ
ปัญญาประดิษฐ์
เริ่มเรียน

ภาพรวมคอร์สเรียน

📚 สรุปเนื้อหา

คู่มือที่ครอบคลุมเกี่ยวกับการเข้าใจและนำไปใช้จริงกับปัญญาประดิษฐ์เชิงสร้างสรร (Generative AI) และโมเดลภาษาขนาดใหญ่ (LLMs) หลักสูตรนี้ครอบคลุมการเปลี่ยนผ่านจากพื้นฐานทางทฤษฎีไปสู่การพัฒนาในเชิงปฏิบัติโดยใช้ภาษา Python รวมถึง GANs, โมเดลการกระจายตัว (Diffusion models), โครงสร้างแบบแปลง (Transformers), การปรับแต่งเฉพาะงาน (fine-tuning) และการนำออกใช้งานในสภาพแวดล้อมผลิต

จัดการหลักการสำคัญและแอปพลิเคชันเชิงปฏิบัติของโมเดลภาษาขนาดใหญ่ (LLMs) และเทคนิคการสร้างสรรค์สมัยใหม่ด้วยภาษา Python

ผู้เขียน: คาร์ลอส โรดริเกซ

คำขอบคุณ: ขอขอบคุณเป็นพิเศษแก่ภรรยาของเขา จิลล์ บรรพบุรุษของเขา และนักตรวจสอบทางเทคนิค โมร์แกน บอยซ์ อีริก รุย และซาไมรา ชาฮ์ (ผู้เขียนบทนำ)

🎯 เป้าหมายการเรียนรู้

  1. แยกแยะ ระหว่างแนวทางการเรียนรู้ของเครื่องแบบดั้งเดิม (แบบจำแนก) กับโมเดลปัญญาประดิษฐ์เชิงสร้างสรร
  2. ระบุ สถาปัตยกรรมพื้นฐานของปัญญาประดิษฐ์เชิงสร้างสรร ได้แก่ GANs, โมเดลการกระจายตัว (Diffusion models) และ Transformers
  3. อธิบาย บทบาทและวิวัฒนาการของโมเดลภาษาขนาดใหญ่ (LLMs) ภายในบริบทกว้างของปัญญาประดิษฐ์
  4. แยกแยะลักษณะเฉพาะและแนวทางสถาปัตยกรรมของ GANs, Diffusers และ Transformers
  5. วิเคราะห์ข้อได้เปรียบและข้อจำกัดของแต่ละประเภทโมเดล รวมถึงปัญหาเฉพาะ เช่น การเกิด "โหมดหาย" หรือความเร็วในการสุ่มตัวอย่าง
  6. ดำเนินการจัดระบบการสร้างภาพแบบ Stable Diffusion และประเมินผลลัพธ์ที่ได้ โดยใช้ค่าลอจิตและค่าความน่าจะเป็นจากโมเดล CLIP
  7. ติดตามเส้นทางวิวัฒนาการของภาษาธรรมชาติ (NLP) จากวิธีการนับจำนวนเบื้องต้นและโมเดล RNN ไปสู่การแทนที่แบบกระจาย (Distributed Representations) และการเรียนรู้แบบถ่ายทอด (Transfer Learning)
  8. อธิบายกลไกทางเทคนิคของ Multi-head Attention (MHA), Self-attention, Masking และเครือข่ายฟีดฟอร์เวิร์ด (FFN)
  9. ดำเนินการสร้างโครงสร้างโมเดล Transformer แบบครบวงจร รวมถึงการแบ่งคำ (tokenization), การเข้ารหัสตำแหน่ง (positional encoding) และฟังก์ชันการฝึกและการคาดการณ์
  10. เปลี่ยนฟีเจอร์การทดลอง (เช่น Google Colab) ไปสู่สภาพแวดล้อมพร้อมสำหรับการผลิต โดยใช้ Docker และ VS Code

🔹 บทเรียนที่ 1: พื้นฐานและแนวคิดหลักของปัญญาประดิษฐ์เชิงสร้างสรร

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

ผลลัพธ์การเรียนรู้:

  • แยกแยะ ระหว่างแนวทางการเรียนรู้ของเครื่องแบบดั้งเดิม (แบบจำแนก) กับโมเดลปัญญาประดิษฐ์เชิงสร้างสรร
  • ระบุ สถาปัตยกรรมพื้นฐานของปัญญาประดิษฐ์เชิงสร้างสรร ได้แก่ GANs, โมเดลการกระจายตัว (Diffusion models) และ Transformers
  • อธิบาย บทบาทและวิวัฒนาการของโมเดลภาษาขนาดใหญ่ (LLMs) ภายในบริบทกว้างของปัญญาประดิษฐ์

🔹 บทเรียนที่ 2: สำรวจสถาปัตยกรรม: GANs, Diffusers และ Transformers

บทนำ: บทเรียนนี้ให้ภาพรวมเชิงลึกเกี่ยวกับเสาหลักสามประการของปัญญาประดิษฐ์เชิงสร้างสรร ได้แก่ โครงข่ายเชิงสร้างสรรที่ต่อสู้กัน (GANs), โมเดลการกระจายตัว (Diffusion Models) และ Transformers นักเรียนจะสำรวจการถอดรหัสทางเทคนิคของวิธีเหล่านี้ ความก้าวหน้าทางวิวัฒนาการ ข้อจำกัดที่ซ่อนอยู่ และการนำไปใช้ในทางปฏิบัติ ทั้งในการสร้างภาพและการประเมินผลโดยใช้เมตริก CLIP ในสภาพแวดล้อม Jupyter/Colab

ผลลัพธ์การเรียนรู้:

  • แยกแยะลักษณะเฉพาะและแนวทางสถาปัตยกรรมของ GANs, Diffusers และ Transformers
  • วิเคราะห์ข้อได้เปรียบและข้อจำกัดของแต่ละประเภทโมเดล รวมถึงปัญหาเฉพาะ เช่น การเกิด "โหมดหาย" หรือความเร็วในการสุ่มตัวอย่าง
  • ดำเนินการจัดระบบการสร้างภาพแบบ Stable Diffusion และประเมินผลลัพธ์ที่ได้ โดยใช้ค่าลอจิตและค่าความน่าจะเป็นจากโมเดล CLIP

🔹 บทเรียนที่ 3: วิวัฒนาการของภาษาธรรมชาติและการออกแบบโครงสร้างแบบแปลง

บทนำ: บทเรียนนี้ติดตามเส้นทางประวัติศาสตร์ของภาษาธรรมชาติ (Natural Language Processing) ตั้งแต่วิธีการทางสถิติแบบดั้งเดิม ไปจนถึงสถาปัตยกรรมแบบแปลงที่ปฏิวัติวงการ ครอบคลุมการเปลี่ยนผ่านจากโมเดลแบบลำดับ (RNN) ไปสู่กลไกการประมวลผลแบบขนานที่ใช้การตั้งใจตนเอง (self-attention) โดยอธิบายองค์ประกอบเฉพาะของโครงสร้างแบบแปลงดั้งเดิม (Encoder/Decoder) และการประยุกต์ใช้จริงในการสร้างระบบแปลภาษาด้วย PyTorch

ผลลัพธ์การเรียนรู้:

  • ติดตามเส้นทางวิวัฒนาการของภาษาธรรมชาติ (NLP) จากวิธีการนับจำนวนเบื้องต้นและโมเดล RNN ไปสู่การแทนที่แบบกระจาย (Distributed Representations) และการเรียนรู้แบบถ่ายทอด (Transfer Learning)
  • อธิบายกลไกทางเทคนิคของ Multi-head Attention (MHA), Self-attention, Masking และเครือข่ายฟีดฟอร์เวิร์ด (FFN)
  • ดำเนินการสร้างโครงสร้างโมเดล Transformer แบบครบวงจร รวมถึงการแบ่งคำ (tokenization), การเข้ารหัสตำแหน่ง (positional encoding) และฟังก์ชันการฝึกและการคาดการณ์

🔹 บทเรียนที่ 4: วิศวกรรมการผลิตและการนำปัญญาประดิษฐ์อย่างรับผิดชอบมาใช้

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

ผลลัพธ์การเรียนรู้:

  • เปลี่ยนฟีเจอร์การทดลอง (เช่น Google Colab) ไปสู่สภาพแวดล้อมพร้อมสำหรับการผลิต โดยใช้ Docker และ VS Code
  • คำนวณความซับซ้อนทางการคำนวณของโมเดลและข้อกำหนดหน่วยความจำ เพื่อกำหนดความต้องการฮาร์ดแวร์เฉพาะ
  • ประเมินโมเดลเชิงสร้างสรรโดยใช้เมตริกเชิงปริมาณ (BLEU, ROUGE, METEOR) และความสอดคล้องกับโมเดล CLIP

🔹 บทเรียนที่ 5: เทคนิคการปรับแต่งเฉพาะงานและการเรียนรู้ที่ประหยัดพารามิเตอร์

บทนำ: บทเรียนนี้ครอบคลุมการเปลี่ยนผ่านจากวิธีการปรับแต่งโมเดลแบบใช้ prompt ไปสู่การปรับแต่งเฉพาะงานตามงานจริง มุ่งสำรวจการเรียนรู้ในบริบท (In-Context Learning) แบบไม่มีตัวอย่าง (Zero-shot) และมีตัวอย่างน้อย (Few-shot) การเสริมการสร้างด้วยการค้นหา (Retrieval Augmented Generation - RAG) และการประยุกต์ใช้การปรับแต่งที่ประหยัดพารามิเตอร์ (Parameter-Efficient Fine-Tuning - PEFT) ด้วยภาษา Python นักเรียนจะได้เรียนรู้การสร้างระบบตอบคำถาม การใช้งานคลาส Trainer จาก Hugging Face และประเมินผลลัพธ์โดยใช้ค่าความผิดพลาดในการฝึกและค่าความคล้ายคลึงเชิงความหมาย

ผลลัพธ์การเรียนรู้:

  • แยกแยะระหว่างการเรียนรู้ในบริบท (Zero/Few-shot), RAG และการปรับแต่งเฉพาะงาน (Fine-tuning)
  • ดำเนินการเวิร์กโฟลว์การปรับแต่งเฉพาะงานแบบใช้ PEFT โดยใช้ AdaLoRA และคลาส Trainer จาก Hugging Face
  • คำนวณและตีความเมตริกประสิทธิภาพของโมเดล รวมถึงค่าความผิดพลาดในการฝึกและคะแนนความคล้ายคลึงเชิงความหมาย

🔹 บทเรียนที่ 6: การปรับตัวตามโดเมนสำหรับโมเดลภาษาขนาดใหญ่เฉพาะด้าน

บทนำ: บทเรียนนี้สำรวจการเปลี่ยนผ่านของโมเดลภาษาขนาดใหญ่ (LLMs) จากเครื่องมือทั่วไป มาเป็นผู้เชี่ยวชาญเฉพาะด้านในด้านการเงิน นักเรียนจะได้เรียนรู้บริบททางประวัติศาสตร์ของการปรับตัวตามโดเมน ศึกษาแนวทางการฝึกอบรมหลัก เช่น การเรียนรู้แบบก่อเหตุ (Causal Language Modeling - CLM) และการคาดการณ์ประโยคถัดไป (Next-Sentence Prediction - NSP) และดำเนินโครงการการเรียนรู้แบบถ่ายโอนด้วยการปรับแต่งที่ประหยัดพารามิเตอร์ (PEFT) อย่างเป็นมืออาชีพ สุดท้ายจะมีเทคนิคการประเมินอย่างเข้มงวดโดยใช้เมตริก ROUGE และคะแนนการจำแนกประเภทแบบดั้งเดิม (ความแม่นยำ, ความครอบคลุม, ค่า F1)

ผลลัพธ์การเรียนรู้:

  • อธิบายประวัติศาสตร์และความสำคัญที่สำคัญของการปรับโมเดลภาษาขนาดใหญ่ทั่วไปให้เหมาะสมกับโดเมนเฉพาะ
  • ดำเนินการระบบทั้งหมดสำหรับการเรียนรู้แบบถ่ายโอนในโดเมนการเงิน รวมถึงการเตรียมข้อมูลและการแบ่งคำ
  • แยกแยะระหว่างแนวทางการฝึกอบรมแบบ CLM และแบบ NSP

🔹 บทเรียนที่ 7: การออกแบบ Prompt ขั้นสูงและการนำระบบการค้นหามาใช้

บทนำ: บทเรียนนี้สำรวจการพัฒนาวิธีการโต้ตอบกับโมเดลภาษาขนาดใหญ่ (LLM) ที่เปลี่ยนจากวิธีการปรับแต่งที่ใช้พารามิเตอร์จำนวนมาก มาเป็นแนวทางที่อาศัยการใช้ Prompt อย่างมีกลยุทธ์ มุ่งอธิบายการใช้บทบาท (persona) สถานการณ์จำลองบทบาท และการติดตั้งระบบการสร้างข้อมูลเสริมด้วยการค้นหา (Retrieval-Augmented Generation - RAG) โดยใช้ LlamaIndex เพื่อสร้างคำตอบของปัญญาประดิษฐ์ที่มีความรู้บริบท ปลอดภัย และสอดคล้องกับแบรนด์

ผลลัพธ์การเรียนรู้:

  • อธิบายการเปลี่ยนผ่านจากวิธีการปรับแต่งที่ใช้พารามิเตอร์มากไปสู่การคาดการณ์ที่มีประสิทธิภาพโดยใช้ Prompt
  • ออกแบบและติดตั้งบทบาท (personas) และสถานการณ์จำลองบทบาทเพื่อควบคุมพฤติกรรมและรูปแบบผลลัพธ์ของโมเดล
  • สร้างระบบที่ทำงานได้จริงด้วย RAG โดยใช้ภาษา Python และเฟรมเวิร์ก LlamaIndex