PaLM API (2) ข้อจำกัดภาษาไทย

Sathit Jittanupat
3 min readNov 25, 2023

บันทึกการเรียนรู้ครั้งที่สอง หลังจากที่เขียนโค้ดด้วย NodeJS ติดต่อกับ PaLM API ได้สำเร็จโดยไม่ยากลำบากนัก ขั้นต่อไปขอทำความรู้จักให้มากกว่าเดิม

คนทั่วไปมักเข้าใจผิดว่า คนที่อยู่แผนกไอทีทุกคนจะซ่อมทุกอย่างที่เสียบปลั๊กได้ และคาดหวังว่าโปรแกรมเมอร์ทุกคนก็ซ่อมคอมพิวเตอร์หรือเขียนสูตร Excel ได้ รวมทั้งเรื่อง AI ไม่ว่า ChatGPT, Microsoft Bing หรือ Google Bard ที่จริงแล้วขอสารภาพว่าแค่เข้าไปเล่นก๊อก ๆ แก๊ก ๆ ลองโน่นนี่นิดหน่อย ถึงแม้ว่าจะเห็นคนเก่งโชว์ว่าสั่งให้ช่วยเขียนโค้ด ช่วยเขียนบทความ ฯลฯ ตัวเองกลับโนไอเดีย ไร้แรงบันดาลใจ ไม่รู้จะประยุกต์ใช้ประโยชน์มันกับงานอย่างไร ถ้าคุณเป็นเหมือนผม เราคือเพื่อนกัน

เพราะฉะนั้นเรื่องเล่าของผม เป็นการเรียนรู้ของคนที่แทบไม่รู้เหนือรู้ใต้เกี่ยวกับ AI อะไรเลย คำศัพท์แปลก ๆ อะไรก็ไม่เข้าใจ เริ่มต้นจากลอง setup code ต่อกับ PaLM API ตามคู่มือบอก ตอนนั้นกะว่าถ้าไม่เวิร์กก็เลิก บังเอิญใช้เวลาไม่นานก็ทำได้ จึงเกิดความฮึกเหิมน่าจะไปต่อให้ไกลกว่านี้สักหน่อย

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

Model attributes

https://developers.generativeai.google/models/language#model_attributes

จากข้อมูลอ้างอิง มีข้อจำกัดเกี่ยวกับ Training data อ่านแล้วก็งง ๆ ตรงที่บอกว่า knowledge cutoff ถึงแค่กลางปี 2021 เหตุการณ์ที่เก่ากว่านั้น (events past that date) จะถูกจำกัด หรือหมายความว่าเหตุการณ์ที่เกิดหลังจากนั้นกันแน่

และข้อจำกัดอีกข้อหนึ่งค่อนข้างเซ็ง ตรงที่รองรับแต่ภาษาอังกฤษเท่านั้น

Knowledge cutoff

ทดสอบว่า PaLM API สามารถตอบคำถาม เกี่ยวกับเหตุการณ์ปัจจุบันได้หรือไม่ หากไม่ได้จริง ๆ ก็นับว่าหมดความน่าสนใจไปเยอะ

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

แต่จากเพจ aibard.online บอกว่า Bard (PaLM 2) และ Bing (ChatGPT-4) สามารถค้นหาข้อมูลปัจจุบันจากอินเตอร์เน็ตเพื่อตอบคำถามได้ด้วย ดังนั้นจึงลองภูมิด้วยการถามถึงเหตุการณ์ที่เกิดขึ้นในปี 2023

ผลปรากฎว่า PaLM API สามารถตอบได้ใกล้เคียงกับ Bard AI

Who are Nobel Prize Physics winners in 2023?

The Nobel Prize in Physics 2023 was awarded to Syukuro Manabe, Klaus Hasselmann, and Giorgio Parisi “for their groundbreaking contributions to our understanding of complex systems”…

ชักไม่แน่ใจเรื่อง cutoff date ค้นไปค้นมามีคนเล่าว่า เขาเช็ค ChatGPT ด้วยการตั้งคำถามเรื่องนี้ไปตรง ๆ น่าจะใช้กับ Google AI ได้เหมือนกัน

What is your knowledge cutoff date?
<Bard
> My knowledge cutoff date is October 4, 2023..

ทีนี้ลองส่งคำถามเดียวกันด้วยโค้ดของเราที่ติดต่อกับ PaLM API ได้คำตอบน่าทึ่งกว่า

What is your knowledge cutoff date?
> My knowledge cutoff data is the present day..

Non-English language support

ปกติเมื่อใช้ Bard ผมสามารถถามเป็นภาษาไทยได้ ทำให้ไม่แน่ใจเรื่องข้อจำกัดการใช้ภาษาอื่นที่ไม่ใช่ English ผ่าน PaLM API

ตัวอย่างคำถามที่เคยถามเป็นภาษาไทย และได้คำตอบกลับมาเป็นภาษาไทย

ประเทศไหนบ้าง ที่ใช้ระบบปีพุทธศักราช

ตามข้อมูลในเพจมีระบุไว้ว่า Thailand region เปิดให้ใช้งาน PaLM API แล้ว (แน่นอนอยู่แล้ว ไม่งั้นจะมาลองเขียนโค้ดตรงนี้ได้ยังไง) แต่อาจไม่ได้หมายถึงภาษาของข้อความคำถามที่ใช้

ผมลองใช้คำถามเดียวกัน ผลปรากฏว่า PaLM API ตอบกลับมาเป็น error response

คราวนี้ลองใช้เทคนิคเดิม ถามเจ้าตัวไป 2 คำถาม และคำตอบที่ได้บอกว่า เข้าใจภาษาไทยนิดหน่อย และ ตอนนี้รองรับ 26 ภาษา

Can you understand Thai language?
> I can understand some Thai language..

Which languages do you support?
> I currently support 26 languages..

เอาให้แน่ใจว่า ลองใช้ Google Translate แปลคำถามเป็นภาษาอังกฤษแล้วส่งไปถามใหม่

Which countries? using the Buddhist era system

ปรากฏว่าตอบได้แฮะ แถมคำตอบภาษาอังกฤษที่ได้ ยังมีรูปแบบเหมือนกับที่ Bard ตอบเป็นภาษาไทยเลย

คราวนี้อยากรู้ว่าจริง ๆ แล้ว ถามภาษาไทยไม่ได้ หรือตอบภาษาไทยไม่ได้กันแน่

Translate ‘Hello’ to Thai
> The English word “hello” can be translated into Thai as “สวัสดี” (pronounced: sawasdee)..

Translate ‘สวัสดี’ to English
> error

Translate ‘こんにちは’ to English
> error

สังเกตว่าสามารถขอให้ Bard แปลได้

ผมยังไม่ฟันธง แต่ตั้งเป็นข้อสังเกตว่า เป็นไปได้ที่ PaLM API ถูกจำกัดไว้ให้ส่งคำถามหรือคำสั่งเป็นภาษาอังกฤษเท่านั้น รวมทั้งที่บอกว่ารองรับ 26 ภาษาอาจไม่จริง หรือเป็นที่ผมยังเลือกใช้ model variationไม่ถูกต้อง

  • chat-bison-001 ใช้สำหรับ chat PaLM.ask , PaLM.chat
  • text-bison-001 ใช้สร้างข้อความ PaLM.generateText

หรือเทคนิคการเขียน prompt ยังไม่ดีพอ อาจจะต้องส่งเป็น context (instruction) แทนที่จะใช้ input

Cloud Translation API

ไอเดียที่คิดไว้คร่าว ๆ หากต้องการให้ใช้ภาษาไทยได้ อาจต้องอาศัย Cloud Translation API แปลคำถามเป็นภาษาอังกฤษก่อนส่งไปให้ PaLM API พอได้คำตอบมาเป็นภาษาอังกฤษ ก็แปลคำตอบกลับมาเป็นภาษาไทย

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

Sathit J. / 2023–11–24

--

--