เรียนรู้ Generative AI & ChatGPT กับอาจารย์เต้กัน

Learning Mar 22, 2024

ในยุคที่ AI มาแรงมาก ๆ ตั้งแต่ช่วงปีที่แล้ว และทุก ๆ คน ก็เคยใช้มันไม่ว่ามากหรือน้อย และเราจะใช้มันยังไงให้มีประสิทธิภาพ และควรใช้มันอย่างไรให้ถูกต้อง

เราได้มีโอกาสได้ไปฟัง session ออนไลน์ของทางบริษัท กับ session "Generative AI & ChatGPT : ปลดล็อคขีดจำกัดการทำงานด้วยพลัง AI” กับอาจารย์เต้ ดร.อรรถพล ธำรงรัตนฤทธิ์ ว่าเราเอา AI ไปปรับใช้กับการทำงานอย่างไรบ้าง?

ด้วยความที่มี detail ที่ต้องเห็นภาพ ก็เลยเขียนเป็นบล็อกนี่แหละเนอะ


Introduction

ช่วงที่ผ่านมาเราได้ยินศัพท์ใหม่ยอดฮิต ไม่ว่าจะเป็น blockchain, DeFi และคำที่เราได้ยินบ่อยในช่วงนี้ คือ AI นั่นเอง

Generative AI มาจากคำที่เราใส่เข้าไป ในปีนี้ มีแบบภาพ เสียง วิดีโอ ข้อความ ให้เราได้ใช้กัน อย่าง Sora ของ OpenAI เขาทำ genreate video ได้แล้ว หรือแบบ generate text เราใช้กับการเขียน email, facebook post, blog, list idea ต่าง ๆ, ทำ business plan, weekly report และในปีนี้เขา generate ภาษาไทยดีขึ้น

ตัวอย่าง AI ที่เราพบเห็นได้ในปัจจุบัน

  • DALL-E generate ภาพไม่มีลิขสิทธิ์
  • การเปลี่ยนเอกสาร onboard เป็น video และสร้าง persona ได้ ใส่สคริปได้
  • upload รูป แล้วเขียน report ให้ เช่น สรุปข้อมูลกราฟนี้

Generative AI Tools

สาย coding แนะนำ Github Copilot เลย (อันนี้เคยใช้ตอนฟรี ดีจริงฮับ)

Large Language Model (LLM)

Terminology

  • Artificial Intelligence (AI) ปัญญาประดิษฐ์
  • Natural Language Processing (NLP) สาขาหนึ่งของ AI ที่เกี่ยวกับภาษา
  • Large Language Model (LLM) ทำให้ AI เข้าใจภาษาได้ ในท้องตลาดตอนนี้มี ChatGPT จาก OpenAI, Gemini จาก Google, Copilot จาก Microsoft และ Claude จาก Anthropic โดยรวมเราจะเรียกกลุ่มนี้ว่า LLM เนอะ เรียกแบบไม่แบ่งแยกค่าย

หลักการของมัน คือ ทายคำถัดไป ซึ่งนอกจากจะต้องถูก grammar แล้ว ยังต้องถูกบริบท หรือ context อีกด้วย

เช่น รถไฟฟ้าจากสยามมาอารีย์ ใช้เวลา 10 อะไร นาที วินาที ชั่วโมง มันถูกในเรื่อง grammar หมด แต่ในบริบทต้องเป็นนาทีเนอะ

impact ที่เกิดขึ้น คือ task ถูก automate ด้วย LLM

ทุกวงการมี AI เข้ามาหมด แต่ไม่ได้ถูกครอบครองด้วย AI เสียทั้งหมด

usecase ใช้ได้ 300 อย่าง ยกตัวอย่างยังไงก็ไม่สามารถครอบคลุมทุกวงการได้ เช่น การเขียน marketing copy, chatbot ตอบปัญหาลูกค้า, ข่วย test code และเขียน document ให้ด้วย, เขียน bot discord ตอบคำถามต่าง ๆ ในทีม

Prompting Basics

ทั้ง 4 ตัวที่กล่าวมาข้างต้นสามารถใช้แบบฟรีได้ ตัวอย่าง

prompting คือการทำ task ในการทำงานอย่างเจาะจง จึงทำให้เกิดตำแหน่งงานใหม่ คือ prompt engineering

สรุปการใช้งานของทั้ง 4 เจ้า

  • ChatGPT จาก OpenAI: จ่ายเงินเพื่อให้ได้ภาษาไทยที่ดีขึ้น และ generate ภาพได้
  • Claude จาก Anthropic: ภาษาไทยยืนหนึ่ง แต่ตอนนี่ยัง generate ภาพไม่ได้
  • Copilot  จาก Microsoft: ใครที่มี account ของ 365 สามารถใช้ได้เลย ผลที่ได้จะกลาง ๆ ไม่โดดเด่น  generate ภาพได้ ข้อดีที่โดดเด่น คือการให้ reference มาด้วย
  • Gemini จาก Google: ภาษาไทยค่อนข้างดี สามารถเขียน prompt ยาวเป็นหมื่นคำ การ generate ภาพที่เป็นรูปคนยัง woke อยู่ แนะนำให้เจนอย่างอื่นแทน

LLM ดีกับการเขียน (และการเป็นผู้ช่วยเขียน), ตอบคำถาม, สรุป, แปล และเขียนโค้ด

RCRC Framework

เขียน prompt ว่าให้มันทำอะไร เราจะเขียนลำดับยังไงก็ได้ มีความ flexible สูงมาก สั่งเป็นภาษาได้เลย

  • Role ให้สวมบทบาทเป็นอะไร หลัก ๆ ที่ใช้ คือ Act as …, You are …, ในฐานะ
  • Context บอกบริบทและที่มาที่ไป ซึ่งยิ่งใส่เยอะยิ่งดี
  • Results ให้โจทย์ว่าอยากได้อะไร เน้นใช้ verb ในการ action สั่งให้ทำอะไรบางอย่าง หรือช่วยเขียนสิ่งนี้
  • Constraint บรีฟเพิ่มว่าอยากได้อะไร

ตัวอย่าง

ถ้าเราได้ผลจาก LLM มาแล้ว เอ๊ะรู้สึกมันสั้นไป สามารถบอกได้ว่า ขอยาวกว่านี้หน่อย โดยที่มันจะจำอันที่เราถามไปก่อนหน้านี้

อีกตัวอย่าง

สรุป RCRC Framework

Prompt Engineering and Templatized Prompts

สิ่งที่เราต้องทำอะไรซํ้า ๆ เช่น ตอบ email บางอย่าง เราสามารถเขียน prompt เปลี่ยนไส้ในใน email ทำเป็น prompt template ได้ ครั้งต่อไปก็ยกไป copy แปะได้

ทริคนี้มาจากทาง OpenAI เลย ให้ใส่คำว่า delimited บอกว่าเริ่ม หรือจบตรงไหน และใส่ quote 3 อัน เพื่อไม่ให้มันชนกับข้อความทั่วไปที่มี quote

ผลที่ได้ ได้ประโยคที่สวยงาม บางอันอาจจะตัดออกได้ถ้ามันดูเยอะไป

นอกจาก quote 3 อัน สามารถใช้ตัวหนอน 2 อัน หรือ XML tag ก็ได้

Everyday writing assistant

เขียน report เอา template นี้ไปใช้ได้ ได้ AI ประจำตัวของเรา เหมือนเป็น node program ที่เสกด้วย prompt! ตาม internet ที่เราเห็นอาจจะไม่ work เพราะไม่ได้ทำมาเพื่อเรา

เช่น ช่วยปรับแต่ง grammar ให้เรา เราก็เรียนรู้จาก LLM เพราะ grammar มันไม่เคยผิดอยู่แล้ว

Templatized Prompts

ใช้แล้วสามารถ reuse ไปใช้ต่อได้ เอาเป็น template ไปใช้งานต่อ

Structure output

  • delimited by triple quotes เพื่อบอก input (delimited แปลว่า บ่งบอก หรือครอบด้วย)
  • format into x parts เพื่อบอก output

ตัวอย่าง ผลคือมันแบ่งเป็นสองก้อน ก้อนลง social คือเป๊ะปังมาก มาพร้อม emoji

Advance Prompt Engineer

one-shot learning

นึกไม่ออกว่าจะเขียนสิ่งนี้ยังไง เช่น คิด JD ให้หน่อย

ตามปกติเราต้องให้ข้อมูล LLM เยอะ ๆ แต่เราก็สามารถให้ 1 ตัวได้

Chain of Though

อยากได้คำตอบจริง ๆ ที่ดียังไง ให้แสดงวิธีทำให้ดูหน่อย

ตัวอย่าง เลือกคอนโด 1 ห้องนอนที่อ่อนนุช หรือธนบุรีดี

gives a better answer “Think though this step by step”

Prompt Engineering Tips

สรุปทั้งหมดที่เรียนมา

  1. RCRC Framework: Role Context Results Constraint
  2. Refine your output in a conversation: บอก output ที่เราต้องการ
  3. Delimit your input: บอก input ว่าเริ่มหรือจบตรงไหน โดยใช้ delimited by triple quotes
  4. Structure your output: แยกส่วนคำตอบ โดยใช้ format into x parts
  5. Give a successful example (one-shot learning): นึกอะไรไม่ออก ยกตัวอย่างไปให้
  6. Let the LLM think out loud: ให้ทบทวนความคิดก่อนที่จะให้คำตอบสุดท้าย

Q & A

คำถามเพื่อน ๆ ร่วมคลาสเยอะมาก ๆ ถามลึก จนอาจารย์บอกว่าควันขึ้นเลย555 เลยเลือกเป็นบางอันที่น่าสนใจ

  • มีคนถามเรื่อง GAN มันคือ style transfer เช่น เอารูปเราไปทำ yearbook photo เป็นการบิดของเดิมให้เป็นอย่างอื่น
  • เราจะทราบได้ไหมว่า AI มันกำลัง hallucination อยู่ หรือต้องให้ expert มา verify อีก → เจอบ้างเวลาถามเป็น fact ให้ recheck ด้วย google อีกที
  • เห็นพูดถึงการนำ LLM มาช่วยในกระบวนการทำ software testing ในกรณีนี้ เรามีความเสี่ยงในแง่ของความลับบริษัทหรือ sensitive information ของบริษัทรั่วไหลแค่ไหน เนื่องจากข้อมูลเชิงลึกของ sotware บริษัทเรานั้น ถูกใช้เป็น input ของ LLM เรียบร้อยแล้ว? → github copilot เก็บบน server 30 วัน แล้วไม่เอาไปใช้ต่อ
  • ในงานเขียนเราควร AI ในการเขียนทั้งหมดแทนคนหรือไม่ เพราะบางที่ใช้ AI เขียนทั้งหมด จนขาดสเน่ห์ความเป็นมนุษย์ → AI เหมาะกับการทำ post social ที่เน้น engagement, เราสามารถใส่สำนวนของเราเป็น one-shot ได้, แต่ละคนมี prompt เป็นของตัวเอง และมี output ต่างกัน, และสิ่งที่ได้จาก AI เป็น first draft ชั้นดีที่เราสามารถเอาไปปรับต่อได้
  • LLM แต่ละที่มีจรรยาบรรณ แต่บางเรื่องก็แตกต่างกัน แน่นอนว่ามันไม่ให้คำแนะนำเมื่อเราถามมันเกี่ยวกับการทำระเบิดอะไรพวกนี้ แต่ ถ้ามีคนถามว่า How to kill Godzilla ล่ะ ซึ่ง Godzilla ไม่มีอยู่จริงซะด้วย เป็นเพียง fiction character ฝั่ง claude บอกว่าเราจะทำแบบนั้นไม่ได้ ถึงแม้มันเป็น fiction character ก็ตาม ส่วน Copilot ค้นหาข้อมูลอิงจากที่เคยเกิดในนิยาย พร้อม reference ส่วน ChatGPT บอกยิบ ๆ เลยว่าทำไรได้บ้าง

ทั้งหมดก็จะประมาณนี้จ้าทุกคน เฮ้ออเหนื่อยยย คิดว่าทุกคนน่าจะได้สิ่งเหล่านี้ไปปรับใช้ในชีวิตประจำวัน และการทำงานได้เนอะ


ติดตามข่าวสารตามช่องทางต่าง ๆ และทุกช่องทางโดเนทกันไว้ที่นี่เลย แนะนำให้ใช้ tipme เน้อ ผ่าน promptpay ได้เต็มไม่หักจ้า

ติดตามข่าวสารแบบไว ๆ มาที่ Twitter เลย บางอย่างไม่มีในบล็อก และหน้าเพจนะ

Tags

Minseo Chayabanjonglerd

I am a full-time Android Developer and part-time contributor with developer community and web3 world, who believe people have hard skills and soft skills to up-skill to da moon.