การหยุดให้บริการครั้งใหญ่ที่เกิดขึ้นใน ChatGPT และ API
(status.openai.com)- ระหว่างวันที่ 8 พฤศจิกายน เวลา 5:42AM~7:16AM PT คำขอจำนวนมากทั่วทั้ง ChatGPT และ API ของ OpenAI ล้มเหลวด้วยข้อผิดพลาด 502 หรือ 503 ส่งผลกระทบต่อทุกโมเดลและทุก API endpoint
- โหนดในชั้น routing แตะถึง ขีดจำกัดหน่วยความจำ และไม่ผ่านการตรวจสอบสถานะความพร้อม ทำให้เมื่อมีโหนดจำนวนมากพออยู่ในสถานะ unavailable ความสามารถในการรองรับทราฟฟิกขาเข้าก็ไม่เพียงพอ
- ในช่วงเช้าของวันดังกล่าว คำขอ completion เพิ่มขึ้นอย่างมากกว่าวันก่อน ๆ ทั้งหมด จนกลายเป็น tipping point ที่ทำให้ปัญหาหน่วยความจำเดิมลุกลามเป็นการล่มของบริการทั้งระบบ
- การกู้คืนทำโดยจำกัดทราฟฟิกขาเข้า, redeploy บริการครั้งใหญ่, และค่อย ๆ เปิดทราฟฟิกกลับมาเป็นลำดับ โดยหลังแก้ไขให้มีการนำ
responseBufferกลับมาใช้ซ้ำแล้ว การใช้หน่วยความจำและ CPU ดีขึ้น 3 เท่า - OpenAI ได้ปรับขีดจำกัดหน่วยความจำ, ใช้การควบคุมโหลดตาม rate limit, และเพิ่มความจุของระบบแล้ว พร้อมมีแผนเพิ่มการแจ้งเตือนหน่วยความจำและตั้งค่า auto scaling
ขอบเขตของเหตุขัดข้องและสาเหตุโดยตรง
- ระหว่างวันที่ 8 พฤศจิกายน เวลา 5:42AM~7:16AM PT คำขอของ OpenAI จำนวนมากล้มเหลวด้วย ข้อผิดพลาด 502 หรือ 503
- ตลอดช่วงเวลาที่เกิดเหตุขัดข้อง มีความล้มเหลวจำนวนมากใน ทุกโมเดลและทุก API endpoint
- สาเหตุโดยตรงคือโหนดในชั้น routing แตะถึงขีดจำกัดหน่วยความจำและไม่ผ่านการตรวจสอบสถานะความพร้อม
- มีโหนดในบริการจำนวนมากพออยู่ในสถานะ unavailable
- ความสามารถที่เหลืออยู่ไม่เพียงพอสำหรับรองรับทราฟฟิกขาเข้า
- บริการไม่สามารถกู้คืนตัวเองได้
- ในช่วงเช้าของวันนั้น มีคำขอ completion มากกว่าวันก่อน ๆ อย่างชัดเจน และสิ่งนี้ทำหน้าที่เป็น tipping point ที่จุดชนวนเหตุขัดข้อง
มาตรการกู้คืนและป้องกันไม่ให้เกิดซ้ำ
- การตอบสนองทันทีทำพร้อมกัน 3 อย่าง
- จำกัดทราฟฟิกขาเข้า
- redeploy บริการครั้งใหญ่
- ค่อย ๆ เพิ่มทราฟฟิกกลับมาอีกครั้ง
- ต้นตอของปัญหาหน่วยความจำเรื้อรังคือมีการจัดสรร
responseBufferใหม่ต่อเนื่องในลูป แทนที่จะนำกลับมาใช้ซ้ำ- เมื่อคำขอมีจำนวนมาก GC จะตามไม่ทัน
- การแก้ไขทำโดย pre-allocate บัฟเฟอร์ไว้ล่วงหน้าและนำกลับมาใช้ซ้ำ
- หลัง deploy แล้ว การใช้หน่วยความจำและ CPU ดีขึ้น 3 เท่า ทั้งคู่
- มาตรการเพิ่มเติมที่นำไปใช้แล้ว:
- ปรับขีดจำกัดหน่วยความจำที่ตั้งไว้ให้เหมาะสม ทำให้บริการมี headroom มากขึ้นอย่างมีนัยสำคัญ
- ใช้ rate limit controls เพื่อให้สามารถลดรับทราฟฟิกได้อย่างนุ่มนวลขึ้น
- เพิ่มความจุของบริการเป็นมาตรการป้องกันเพิ่มเติม
- การเปลี่ยนแปลงที่จะนำไปใช้ต่อจากนี้:
- ปรับการแจ้งเตือนเพื่อจับพฤติกรรมหน่วยความจำก่อนที่ปัญหาจะลุกลามเป็นปัญหาระดับบริการ
- ก่อนหน้านี้ไม่สามารถเปิด automatic scaling ให้บริการนี้ได้ เพราะการเพิ่มความจุอาจส่งผลลบต่อ upstream service
- เมื่อแก้ปัญหาต้นตอได้แล้ว OpenAI มีแผนจะตั้งค่า auto scaling ให้กับบริการนี้
- การหยุดชะงักของ API ที่ยาวนานส่งผลกระทบต่อผลิตภัณฑ์และธุรกิจของลูกค้า และเหตุขัดข้องในระดับนี้ยิ่งสร้างความเสียหายได้มากเป็นพิเศษ
2 ความคิดเห็น
ดูเหมือนว่าทราฟฟิกจะหลั่งไหลเข้ามาเพราะอิทธิพลจากงานสำหรับนักพัฒนาครั้งนี้นะครับ
เห็นได้ชัดว่า GPT-4 Turbo มีบางอย่างที่ทำให้ผลลัพธ์เปลี่ยนไปมากจริง ๆ
แม้แต่สรุป GN+ ก็แทบไม่ได้แก้พรอมป์ต์เลย แต่รูปแบบกลับเปลี่ยนไปแล้วครับ
ความคิดเห็นบน Hacker News
ChatGPT ล่ม เลยได้ลองใช้ Google Bard เป็นครั้งแรกวันนี้ พูดตรง ๆ ก็ถือว่าค่อนข้างดี
มีน้ำเสียงที่ต่างจาก ChatGPT แบบละเอียดอ่อน อธิบายยาก
ในมุมผู้ใช้ วิธีชี้นำเพื่อให้ได้คำตอบที่ต้องการต่างกัน และวิธีถามหรือ prompt engineering ก็ต้องเปลี่ยนไปด้วย
แค่ถาม query สำหรับ aggregate ใน SQL แต่มันกลับเพิกเฉยต่อข้อกำหนดบางส่วนของ query ไปเลย
แม้จะแค่ระดมไอเดียโจรในโลกแฟนตาซี เช่น บรรยากาศแบบ Lies of Locke Lamora ก็ยังมักปฏิเสธไม่ให้ความร่วมมือ
ดูเหมือนจะรัน heuristic filter บางอย่างกับ output ก่อนแสดงให้ผู้ใช้เห็น และถ้าเปลี่ยน prompt เล็กน้อยก็ผ่านได้บ้าง
ฝั่ง ChatGPT ระบบฉลาดพอจะรู้ว่าอาชญากรรมในแฟนตาซีไม่ใช่ข้อมูลสำหรับลงมือก่ออาชญากรรมจริง
โมเดล GPT4 มีคูปองทดลองใช้ฟรีหนึ่งเดือน
"codegpt"และ GPT3.5 ใช้ฟรีPhind ค่อนข้างดีสำหรับการเขียนโค้ด และยังใช้งานได้อยู่ เพราะอิง LLama 2 ที่ฝึกเพิ่มด้วยโค้ดอีกหลายหมื่นล้าน token: https://www.phind.com/s
ช่วงหลังได้คุยกับ Phind โดยตรง มันบอกว่าถ้าจะช่วยฉันได้ มันคงต้องอ่าน codebase ของฉันเข้าไปก่อนถึงจะเข้าใจ model ที่ฉันพูดถึงไม่ใช่หรือ
ถ้าไม่รู้ codebase ผมมองว่าแทบจะเขียนอะไรให้ถูกไม่ได้ นอกจากฟังก์ชันที่เล็กน้อยที่สุด
Phind ก็ตอบว่าใช่ แต่บอกว่าในทางปฏิบัติไม่สามารถอ่าน codebase เข้าไปได้
มันพูดค่อนข้างเป็นเหตุเป็นผล และดูเหมือนเข้าใจสิ่งที่ฉันพูด
ถ้าช่วยไม่ได้เมื่อฟังก์ชันรับหรือคืนค่า class ที่ไม่ใช่เรื่องเล็กน้อยเป็น parameter แล้วคุณค่าของมันมาจากตรงไหนกันแน่ก็ไม่รู้
โมเดล fine-tune รุ่นล่าสุด V7 ใช้งานแล้วรู้สึกดี และดีกว่าโมเดลโอเพนซอร์สส่วนใหญ่
แต่ท้ายลิงก์มี
sติดอยู่ เลยขึ้น 404บางครั้งมี defect เล็ก ๆ เช่น prompt ยาว ๆ แล้วไม่มี response ออกมา หรือ option ของคำตอบหายไป
โดยรวมแล้วเหมาะกับการแลกเปลี่ยนไอเดียกับ ChatGPT หรือใช้เพื่อได้มุมมองอื่น
ฟีเจอร์ annotation ที่แสดงเว็บไซต์ที่ดึงข้อมูลมาก็ทำออกมาได้ดีมาก
"The inference service may be temporarily unavailable - we have alerts for this and will be fixing it soon."ในความเห็นผม ทั้งหมดเป็น hallucination ชอบตรงที่ใส่ลิงก์เอกสารให้
แก้ไข: พอเปลี่ยน
astrojsเป็นviteก็ได้คำตอบที่ดีและแม่นยำมาก: https://www.phind.com/search?cache=rh6s7pydzi3312b7rf43i7cmค่อนข้างน่าประทับใจ
ว้าว เหงื่อเย็นไหลจริง ๆ
เพิ่งย้ายบริการส่วนใหญ่ไป Azure OpenAI ก่อนเปิดตัวประมาณ 48 ชั่วโมง และไม่ได้รับผลกระทบจากเหตุขัดข้องครั้งนี้
โล่งใจมากจริง ๆ
สงสัยว่าได้รับการอัปเดตระบบและ OpenAI API พร้อมกันหรือเปล่า แล้วราคาก็เท่ากันไหม
ตอนนี้แหละเป็นจังหวะดีที่จะบอกว่า HuggingFace โฮสต์ โมเดลแชตโอเพนซอร์ส ไว้หลายตัว
หนึ่งในโมเดลที่ผมชอบเป็นการ fine-tune ของ Mistral 7B: https://huggingface.co/spaces/HuggingFaceH4/zephyr-chat
โมเดลนี้เล็กพอจะรันด้วยความเร็วพอใช้งานได้ ออกมานิดกว่า 1 token ต่อวินาที และเท่าที่ลองมาจนถึงตอนนี้ดูเหมือน ใกล้เคียง GPT3.5 มาก
กำลังจะบอกว่าเป็นโอกาสที่ Bard จะได้เฉิดฉาย แต่ดูเหมือน Bard ก็ล่มด้วย
response ก็ดูจัดระเบียบดีและอ่านสบาย
ถ้า AI ดีเท่า OpenAI ก็คงดี
"Something went wrong. Sorry, Bard is still experimental"ดูเหมือนจะพลาดโอกาสไปแล้ว
จากพวกคนพูดมากที่จู่ ๆ ก็เงียบไป ตอนนี้เป็นจังหวะเหมาะมากที่จะ scrape คอมเมนต์ HN เพื่อดูว่าใครกำลังเขียน คอมเมนต์ HN ด้วย ChatGPT อยู่
สังเกตเห็นเหตุขัดข้องแล้ว
รู้สึกเหมือนหลายคนใช้ ChatGPT เป็นเหมือนล้อช่วยพยุงจักรยาน แล้วก็ลืมวิธีขี่โดยไม่มีล้อช่วยไปแล้ว
ถ้าไม่มีมันแล้วขี่ไม่ได้ ก็ไม่ได้ฝึกอะไรขึ้นมาเลย
คุณกำลังสร้างมอเตอร์ไซค์แบบดั้งเดิมอยู่ แล้วมีคนเสนอเครื่องยนต์จักรยานไฟฟ้า และเพราะตอนนี้ยังไม่มีแม้แต่เครื่องยนต์สันดาปภายใน ก็เลยคิดว่าจะใช้สิ่งนี้เร่งเดโมหรือการออกสู่ตลาดไปก่อน แล้วค่อยเปลี่ยนเป็นเครื่องยนต์จริงทีหลัง
แต่พอคุณกำลังจะทำแฮนด์เสร็จ เครื่องยนต์จักรยานไฟฟ้าก็ถูกอัปเกรดไปสี่ครั้ง จนดีกว่าเครื่องยนต์สันดาปภายในใด ๆ แล้ว ดังนั้นก็ไม่มีเหตุผลต้องเปลี่ยนอีก
พอไปถึงตลาด เครื่องยนต์นั้นก็ถูกอัปเดตไปอีกหลายรอบ จนขับเคลื่อนอัตโนมัติเต็มรูปแบบและอาจบินได้ด้วย
แถมยังสามารถ จำลองตัวเอง ได้ด้วย ตอนนี้ผู้ซื้อจึงอาจไม่ต้องการคุณอีกต่อไป
ตอนนี้ นักพัฒนาระดับจูเนียร์ หลายล้านคนคงต้องอ่านคู่มือแล้ว
เป็นวันที่ยิ่งใหญ่จริง ๆ
นี่คือวันสุดท้ายของอาชีพเราแล้ว มาสนุกกับมันกันเถอะ
วันนี้ลองใช้ Bard แล้ว ดีขึ้นมาก
ปัญหาของ Bard ยังทำให้ทึ่งอยู่เลย
เดือนที่แล้วมันโกหกเกี่ยวกับข้อเท็จจริงบางอย่าง พอถามรายละเอียดเพิ่ม ก็อ้างว่าส่งอีเมลไปแล้ว
แล้วก็ขอโทษ บอกว่าจริง ๆ แล้วไม่ได้ส่งอีเมล และ “รู้” ว่าตัวเองส่งไม่ได้
เหมือนเพื่อนที่พูดว่า ‘ไม่รู้’ ไม่เป็น แล้วเลือกโกหกแทน
ผมถามว่าเคยมีตลาดอยู่ภายในรูปปั้น ‘Christ the King’ ในลิสบอนไหม เพราะอยากตรวจสอบข่าวลือที่ได้ยินจากคนท้องถิ่น
จริง ๆ แล้วไม่มี แต่ Bard เชื่อว่ามี
โชคดีที่ OpenAI ไม่มี ข้อตกลงระดับการให้บริการ: https://help.openai.com/en/articles/5008641-is-there-an-sla-for-latency-guarantees-on-the-various-engines
9 เดือนก่อน ที่งานใหม่ มีบั๊กที่ทำให้ผมล็อกอินเข้า OpenAI account สำหรับงานไม่ได้
ใช้เวลา 6 เดือนกว่าจะตอบคำขอซัพพอร์ต แล้วผมก็ได้รับคำตอบทั่วไปแบบคัดลอกวางที่ไม่เกี่ยวกับปัญหาของผมเลย
เราใช้เงินมหาศาล แต่ก็ไม่ได้รับการตอบกลับหรือหาคนที่จะคุยทางโทรศัพท์ด้วยได้เลย
สุดท้ายต้องขอให้เพื่อนร่วมงานสร้างคีย์ทั้งหมดแทน
แล้วประมาณ 8 เดือนต่อมา วันหนึ่งมันก็กลับมาใช้งานได้เองโดยไม่มีเหตุผลใด ๆ
หลังจากนั้นไม่นานก็ย้ายไปใช้ Azure OpenAI Service เพราะแพลตฟอร์มของ OpenAI แย่เกินไปอย่างน่าอนาถสำหรับบริษัทจริงจังที่จะใช้งาน