<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด - คุยกันภาษา AI				            </title>
            <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/</link>
            <description>ThAI Keras Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Thu, 23 Apr 2026 03:34:15 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-801</link>
                        <pubDate>Sat, 21 Jun 2025 04:06:02 +0000</pubDate>
                        <description><![CDATA[เจาะลึกกันต่อในปี 2025 ที่ ThaiAGI series ใหม่]]></description>
                        <content:encoded><![CDATA[<p>เจาะลึกกันต่อในปี 2025 ที่ ThaiAGI series ใหม่</p>
<p>https://thaikeras.com/community/postid/793/</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-801</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-790</link>
                        <pubDate>Sun, 13 Oct 2024 07:42:46 +0000</pubDate>
                        <description><![CDATA[]]></description>
                        <content:encoded><![CDATA[<p>https://the-decoder.com/apple-ai-researchers-question-openais-claims-about-o1s-reasoning-capabilities/</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-790</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-713</link>
                        <pubDate>Fri, 23 Jul 2021 12:42:04 +0000</pubDate>
                        <description><![CDATA[AI ให้เหตุผลแบบ Commonsense ได้หรือไม่?ThAIKeras and Kaggle - 23 July 2021 ถึงแม้ AI จะเป็นข่าวใหญ่ ไม่ว่าจะเป็น AlphaFold ที่แก้ปัญหาโครงสร้างโปรตีน 3 มิติ หรือ AlphaGo ที่โค่นแชมป์โลกโกะลง...]]></description>
                        <content:encoded><![CDATA[<div class="kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"><span style="text-decoration: underline;font-size: 24pt"><strong>AI ให้เหตุผลแบบ Commonsense ได้หรือไม่?</strong></span></div><div dir="auto"><em>ThAIKeras and Kaggle - 23 July 2021</em></div></div><div dir="auto"><div class="" data-block="true" data-editor="5h8pj" data-offset-key="elag-0-0"><div data-offset-key="elag-0-0"> </div><div class="_1mf _1mj" data-offset-key="elag-0-0"><span data-offset-key="elag-0-0">ถึงแม้ AI จะเป็นข่าวใหญ่ ไม่ว่าจะเป็น AlphaFold ที่แก้ปัญหาโครงสร้างโปรตีน 3 มิติ หรือ AlphaGo ที่โค่นแชมป์โลกโกะลงได้เมื่อหลายปีก่อน </span></div></div><div class="" data-block="true" data-editor="5h8pj" data-offset-key="8c7eq-0-0"><div class="_1mf _1mj" data-offset-key="8c7eq-0-0"><span data-offset-key="8c7eq-0-0"> </span></div></div><div class="" data-block="true" data-editor="5h8pj" data-offset-key="7khsk-0-0"><div class="_1mf _1mj" data-offset-key="7khsk-0-0"><span data-offset-key="7khsk-0-0">สังเกตว่าปัญหาที่ AI เหนือกว่ามนุษย์เหล่านี้ล้วนแต่เป็นปัญหา "เฉพาะทาง" อย่างไรก็ดีสิ่งที่ทำให้ "มนุษย์" มีความฉลาดหลากหลาย รอบด้านนั้น AI ยังไม่สามารถทำได้</span></div></div><div class="" data-block="true" data-editor="5h8pj" data-offset-key="9lka-0-0"><div class="_1mf _1mj" data-offset-key="9lka-0-0"><span data-offset-key="9lka-0-0"> </span></div></div><div class="" data-block="true" data-editor="5h8pj" data-offset-key="ccmpm-0-0"><div class="_1mf _1mj" data-offset-key="ccmpm-0-0"><span data-offset-key="ccmpm-0-0">Commonsense คือ 1 ในความลึกลับของ "ความฉลาด" ของมนุษย์ที่วงการ AI ยังไม่สามารถไขปริศนาได้</span></div></div><div class="" data-block="true" data-editor="5h8pj" data-offset-key="bnvj0-0-0"><div class="_1mf _1mj" data-offset-key="bnvj0-0-0"><span data-offset-key="bnvj0-0-0"> </span></div></div><div class="" data-block="true" data-editor="5h8pj" data-offset-key="8kl6g-0-0"><div class="_1mf _1mj" data-offset-key="8kl6g-0-0"><span data-offset-key="8kl6g-0-0">ยกตัวอย่างเรื่อง Commonsense ง่ายๆ เพียง 1 ประโยค</span></div></div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"><strong>"Fred told the waiter he wanted some chips"</strong></div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">เชื่อหรือไม่ว่าเพียงแค่ 1 ประโยคสั้นๆ นี้ มนุษย์ทั่วไปเมื่ออ่านแล้ว สามารถสร้างแบบจำลองขนาดใหญ่ขึ้นมาในหัว เพื่ออธิบายสิ่งต่างๆ ที่เชื่อมโยงกับประโยคนี้ได้</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto">เช่น จากประโยคดังกล่าว</div><div dir="auto">- เราเดาได้ว่าเฟรดน่าจะอยู่ร้านอาหาร</div><div dir="auto">- เราเดาได้ว่าเฟรดต้องเป็นลูกค้าในร้านนี้ นั่นคือมาเพื่อกินอาหาร</div><div dir="auto">- เราเดาได้ว่าเฟรดกับพนักงานน่าจะยืนห่างกันไม่มาก (น่าจะไม่เกิน 2 เมตร)</div><div dir="auto">- เราเดาได้ว่าเฟรดสั่ง Potato Chips ไม่ใช่ Chips ประเภทอื่น</div><div dir="auto">- เราเดาได้ว่าในอีกไม่กี่นาทีข้างหน้า Chips ที่ว่านั้นจะมาเซิร์พที่เฟรด และเฟรดก็จะกินมันทันที</div><div dir="auto">- และเรายังเดาเรื่องราวที่เกี่ยวข้องได้อีกมากมาย</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">เราอธิบายสิ่งเหล่านี้ได้อย่างไร ทั้งๆ ที่ "คำ" ต่างๆ ที่เราอธิบายหรือเดา มันแทบไม่ได้ปรากฏอยู่ในประโยคที่กำหนดเลย</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">นี่เองคือพลังของ "Commonsense" หรือ "สามัญสำนึก" ที่มนุษย์มี และเราเชื่อว่าสัตว์ประเภทอื่นนั้นไม่มี (หรือมีน้อยกว่าเรามาก)</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">เชื่อกันว่า Commonsense (สามัญสำนึก) คือหนึ่งในคุณสมบัติที่จำเป็นของมนุษย์ซึ่งได้ชื่อว่าเป็นสิ่งมีชีวิตที่ "ทรงปัญญา" นอกจากนี้นักวิจัยแนวหน้าหลายกลุ่มยังเชื่อว่า commonsense คือส่วนประกอบสำคัญที่ทำให้โมเดลปัญญาประดิษฐ์ในปัจจุบันยังไปไม่ถึง "ความฉลาด" หรือ "ปัญญา" ในระดับเดียวกับมนุษย์</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">ในปัจจุบันเรามีโมเดลระดับ GPT-3 ซึ่งหลายๆ คนขึ้นชื่อว่าฉลาดที่สุดใกล้เคียงกับมนุษย์ ทว่านักวิจัยฝั่งปัญญาประดิษฐ์หลายกลุ่มก็ทำงานวิจัยเพื่อพิสูจน์ว่าจริงๆ แล้ว GPT-3 นั้นมี commonsense น้อย</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">อย่างไรก็ดี Commonsense คืออะไรกันแน่ และตัวอย่างชัดๆ ที่จะบอกว่าโมเดลที่ฉลาดมากๆ อย่าง GPT-3 ไม่มี commonsense นั้นเป็นอย่างไรกันแน่</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">ในบล็อกโพสต์ต่อไปนี้ ได้ survey ความรู้จากหลากหลายแหล่งทั้ง AI, Coginitive Science, Psychology และ Behavioral Economics :</div><div dir="auto">- สรุปคำจำกัดความแบบเข้าใจง่ายว่า commonsense คืออะไร เชื่อมโยงกับความรู้อื่นของมนุษย์อย่างไร</div><div dir="auto">- นิยามการให้เหตุผล commonsense 8 รูปแบบที่โมเดลควรทำได้</div><div dir="auto">- สนุกกับการให้เหตุผล commonsense ของ GPT-3 ที่ว่ากันว่าฉลาดที่สุด เมื่อต้องอ่านและวิเคราะห์เรื่องสั้นหลากหลายแนว อาทิเช่น ชีวประวัติ เรื่องขำขัน เรื่องลึกลับ หรือ sci-fi เป็นต้น</div></div><div class="o9v6fnle cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q"><div dir="auto"> </div><div dir="auto">ผู้สนใจสามารถอ่าน Blog ได้ที่นี่ครับ : <a class="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl py34i1dx gpro0wi8" role="link" href="https://l.facebook.com/l.php?u=https%3A%2F%2Fagi.miraheze.org%2Fwiki%2FGPT3_and_Commonsense_Reasoning%3Ffbclid%3DIwAR2yvdLrIg_C5PCtMg0Ey6IYE0gwolPKkCdOU3z99YpfanK3lYZSttkgqas&amp;h=AT3-wi02i-T4oTJxOiu6DaRZ0b1lS4-sAGYotr3gSk723dA6orEBO4lyBgyP7z0HqpIlZVbsfFTWn1TBwsl_Q8ej1JqR_coaYDgPW9JMTecup-F68Vhp4rIysWlBlLjKOR82WvKFqcmPuR-_J_ux&amp;__tn__=-UK-R&amp;c=AT20VaXJs_qF4YNqQRZnWchG3I0s9Z6p3jkPJ4bhThw0N8GR7M5HvpJU9JA-B5XXx32vObkS0XKD8FAcQ-4iwMwZJdhKDUPNPmRwbfj4OCB8wCq1t3BM2wh1giohlcH5a_L7atznXcQBzssRSLQUrGfYamvaEkHDIC6iOml-IAG5hDhqixQjuWuxcm75HOckKTSu0dM" target="_blank" rel="nofollow noopener">https://agi.miraheze.org/wiki/GPT3_and_Commonsense_Reasoning</a></div></div><p> </p><p>https://i.ibb.co/VD8dMMP/machines-commonsense.jpg</p><p>https://i.ibb.co/k426Qkh/total-score.png</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-713</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-694</link>
                        <pubDate>Tue, 06 Jul 2021 03:56:33 +0000</pubDate>
                        <description><![CDATA[วิเคราะห์ GPT-3 , language models ที่เก่งที่สุดในปี 2021 ที่กระทู้นี่ครั]]></description>
                        <content:encoded><![CDATA[<p>วิเคราะห์ GPT-3 , language models ที่เก่งที่สุดในปี 2021 ที่กระทู้นี่ครับ</p><p>https://thaikeras.com/community/main-forum/gpt-2-%e0%b8%82%e0%b8%ad%e0%b8%87-openai-%e0%b8%aa%e0%b8%b2%e0%b8%a1%e0%b8%b2%e0%b8%a3%e0%b8%96%e0%b9%81%e0%b8%95%e0%b9%88%e0%b8%87%e0%b9%80%e0%b8%a3%e0%b8%b7%e0%b9%88%e0%b8%ad%e0%b8%87%e0%b8%a3/#post-693</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-694</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-397</link>
                        <pubDate>Sun, 15 Nov 2020 09:07:25 +0000</pubDate>
                        <description><![CDATA[สรุปย่อๆ (มาก) 22 Transformers ที่สำคัญบน HuggingfaceThaiKeras and Kaggle  15 พย. 2563สวัสดีครับเพื่อนๆ ในบทความก่อนเราได้แชร์บทความเจาะลึก Transformers ของ Patrick จากทีม Huggingface ซึ่งเป...]]></description>
                        <content:encoded><![CDATA[<p><span style="text-decoration: underline"><span style="font-size: 24pt"><strong>สรุปย่อๆ (มาก) </strong><strong>2</strong><strong>2 </strong><strong>Transformers</strong><strong> ที่สำคัญบน </strong><strong>Huggingface</strong></span></span></p><p><em>ThaiKeras and Kaggle  </em><em>15</em> <em>พย. </em><em>2563</em></p><p><img src="https://i.ibb.co/kGrbGRp/huggingface-models.jpg" /></p><p>สวัสดีครับเพื่อนๆ ในบทความก่อนเราได้แชร์บทความเจาะลึก Transformers ของ Patrick จากทีม Huggingface ซึ่งเป็น library ของ Transformers ที่มีโมเดลให้เลือกใช้มากที่สุด (วันที่เขียนบทความนี้มีทั้งหมดราว 40 โมเดล)</p><p>อย่างไรก็ดีการมีตัวเลือกมากเกินไปบางครั้ง ทำให้ผู้ใช้ใหม่ๆ สับสนได้เหมือนกันว่าโมเดลใดเหมาะกับปัญหาแบบไหน และแตกต่างกันอย่างไร วันนี้ทีม ThaiKeras ได้ลองแยกประเภทและสรุปย่อ (มากๆ) โมเดลเฉพาะที่เรารู้จักคร่าวๆ ไว้   --- เราก็ไม่รู้จักทุกโมเดลเหมือนกันครับ แหะๆ</p><p>อย่างที่โพสต์ก่อนหน้าได้เกริ่นไป (<a href="https://bit.ly/thaikeras-understanding-nlp">https://bit.ly/thaikeras-understanding-nlp</a>) เจ้า Transformers นั้นดั้งเดิมแล้วประกอบไปด้วยองค์ประกอบสองส่วนคือ ส่วนของ Encoder และส่วนของ Decoder โดยบล็อก Encoder ซึ่งทำหน้าที่เปลี่ยนข้อมูล (หรือเรียกเท่ห์ๆ ว่า "เข้ารหัส") อาทิเช่น ประโยคในภาษาต่างๆ ให้เป็นเวกเตอร์ทางคณิตศาสตร์  ส่วน Decoder ก็จะทำหน้าที่ "ถอดรหัส" เวกเตอร์ทางคณิตศาสตร์ให้กลับมาเป็นข้อความที่เราต้องการ</p><p>ทว่าในบางปัญหานั้น การมีแค่ Encoder หรือแค่ Decoder เพยงอย่างเดียวก็จะเหมาะสมกว่า ซึ่งทำให้เราอาจแบ่งประเภทของ Transformers ได้เป็น 4 ประเภทครับ</p><ol><li>Encoder-only (ในเพจ Huggingface เรียก Autoencoder models)</li><li>Decoder-only (ในเพจ Huggingface เรียก Autoregressive models)</li><li>Encoder-Decoder (หรือ Sequence-to-sequence models)</li><li>Multi-modal Encoder-Decoder</li></ol><p> </p><p>โดย</p><ol><li>เจ้า Transformers ที่มี Encoder เพียงอย่างเดียวนั้นจะเหมาะกับปัญหาพื้นฐานพวก classification, regression, token classification และ reading comprehension (closed-domain Q&amp;A -- ดูรายละเอียดที่ ตอนที่ 4 ใน <a href="https://bit.ly/thaikeras-understanding-nlp">https://bit.ly/thaikeras-understanding-nlp</a> ) ตัวอย่างเช่น Bert, Roberta, XLM-Roberta, Longformer, DPR, etc.</li></ol><p> </p><p>2. กลุ่มที่มี Decoder เพียงอย่างเดียวก็จะเหมาะกับการ "สร้างเรื่องราวแบบอิสระ"  (story generation) เช่นตระกูล GPT, GPT-2 และ GPT-3 รวมทั้ง BertGeneration กลุ่มนี้ไม่ได้สร้าง output จาก input ที่เจาะจงโดยตรง (เพราะไม่มี encoder module) จึงเหมาะกับการสร้างเรื่องราวที่เป็น "อิสระ" และมีความสร้างสรรค์</p><p> </p><p>3. กลุ่ม Encoder-Decoder ซึ่งสร้าง output จาก input ก็จะเหมาะกับปัญหา แปลภาษา (translation) ตอบคำถามแบบทั่วไป (free-form Q&amp;A) หรือย่อความ (Summarization) ถึงแม้ว่า output ของโมเดลกลุ่มนี้จะขึ้นกับ input โดยตรง แต่ output ก็จะมีความ "อิสระ" หรือ "สร้างสรรค์" ได้ เช่นในปัญหา free-form Q&amp;A เมื่อเจอคำถามประเภท "ทำไม?" หรือ "อย่างไร?" โมเดลจะสามารถอธิบายและให้แง่คิดเกี่ยวกับคำถามได้อย่างอิสระ ตัวอย่างของโมเดล เช่น  T5, Bart และ RAG</p><p> </p><p>4. กลุ่ม Multi-modal encoder-decoder เป็นกลุ่มพิเศษซึ่งเพิ่งเริ่มเข้ามาใน Huggingface ปี 2020 นี่เอง นั่นคือ input นอกจากจะเป็น sequential data ได้แล้วยังรับ input พวก image ได้ด้วย เช่นปัญหา image captioning ที่โมเดลสามารถ "เล่าเรื่องราว" จากรูปภาพได้เป็นต้น (ดูตัวอย่างเก่าๆ ของเราที่ <a href="https://www.kaggle.com/ratthachat/flickr-image-captioning-tpu-tf2-glove">https://www.kaggle.com/ratthachat/flickr-image-captioning-tpu-tf2-glove</a>) โมเดลชื่อ LXMert เป็นตัวอย่างในกลุ่มนี้</p><p> </p><p>ข้างล่างนี้จะเราจะลองสรุปย่อๆ ในแต่ละโมเดล ซึ่งในเพจของแต่ละโมเดลบน Huggingface จะมีลิงก์ไปยัง original paper ทุกโมเดลครับผม</p><p><a href="https://huggingface.co/transformers/model_doc/bert.html">https://huggingface.co/transformers/model_doc/bert.html</a> (เปลี่ยนชื่อจาก bert เป็นโมเดลที่ต้องการ)</p><p> </p><p>เนื่องจากเป็นสรุปสั้นๆ อาจเน้นศัพท์เทคนิคเพื่อความกระชับ ขออ้างอิงความหมายไปยังบทความฉบับก่อนๆ นะครับ <a href="https://bit.ly/thaikeras-understanding-nlp">https://bit.ly/thaikeras-understanding-nlp</a> ส่วนขนาดของ pretrained models ต่างๆ จะมีสรุปที่หน้านี้ครับ <a href="https://huggingface.co/transformers/pretrained_models.html">https://huggingface.co/transformers/pretrained_models.html</a></p><p> </p><p><span style="text-decoration: underline"><strong>โมเดลกลุ่ม Encoder-only</strong></span></p><p><strong>1.1 Bert</strong> : โมเดล Encoder-only แรกและเป็นต้นแบบของโมเดลอื่นๆ ทุกตัวในกลุ่มนี้ ทีม Bert เป็นผู้ริเริ่มแนวคิด pretrained บน unlabled data (self-supervised) แบบ masked language modeling (MLM) ซึ่งเมื่อ pretrain สำเร็จแล้ว สามารถไป  finetune ต่อที่ปัญหาประเภท "เลือกคำตอบ" (ที่เป็นมาตรฐานการวัดสำคัญในขณะนั้น) เช่น classification, token classfication ใดๆ ก็ได้และได้ผลลัพธ์ที่ดีที่สุด (ในขณะนั้น) ทันที นับเป็นการปฏิวัติวงการ NLP ที่ถูกเรียกว่า "ImageNet moment of NLP" ล้อไปกับปรากฏการณ์ pretrained บน ImageNet ที่ทำให้งาน Computer Vision ก้าวกระโดดเมื่อปี 2012 นั่นเอง โดยเราเคยเล่าไว้ที่นี่ครับ <a href="https://thaikeras.com/2018/rise-of-dl/">https://thaikeras.com/2018/rise-of-dl/</a></p><p> </p><p>โดย Bert แบ่งเป็น Bert-large และ Bert-base (330 ล้านพารามิเตอร์ และ 110 ล้านพารามิเตอร์) โดยโมเดลใหญ่จะให้ความผลที่ดีกว่าแทบจะเสมอในทางปฏิบัติ</p><p> </p><p><strong>1.2 Albert :</strong> เป็นโมเดลจากทีม Google ที่ออกแบบให้มีการแชร์พารามิเตอร์กันให้มากที่สุด ทำให้ประหยัดพื้นที่ storage มากกว่า Bert มาก อย่างไรก็ดียังมีความซับซ้อน (deep หรือประกอบไปด้วยนิวรอนหลาย layers) ในระดับเดียวกับ Bert ทำให้ความต้องการ memory และความเร็วไม่ต่างจาก Bert มากนัก  เนื่องจาก Albert ประหยัดเนื้อที่เก็บมากกว่า Bert, ทำให้ทีมวิจัยทดลองขยายขนาดความซับซ้อนนอกจาก Albert-base และ Albert-large แล้วยังมี Albert-xlarge และ Albert-xxlarge</p><p> </p><p><strong>1.3 DistilBert</strong> : เป็น Bert จากทีม Huggingface ขนาดเล็กราวๆ ครึ่งนึงของ Bert-base และ pretrain ด้วยเทคนิก distillation นั่นคือเทรนบน soft-labels ของ Bert-large ซึ่งทำให้มีความแม่นยำน้อยกว่า Bert-base ไม่มาก (เช่น 10-15% จากการทดลอง) แม้จะมีขนาดเล็กกว่ามาก โมเดลนี้ถูกพัฒนามาราว 2 ปีก่อน ซึ่งปัจจุบันมี MobileBert ซึ่งดีกว่ามาก</p><p> </p><p><strong>1.4 MobileBert :</strong> Bert ขนาดจิ๋ว ในปี 2020 ที่ออกแบบโดยทีม Google เอง ซึ่งมีขนาดเล็กกว่า Bert-base เพียง 25% ของ bert-base และเร็วกว่า bert-base ถึง 5 เท่า แต่มีประสิทธิภาพโดยรวมใกล้เคียง Bert-base</p><p> </p><p><strong>1.5 SqueezeBert :</strong> เป็น Bert ขนาดจิ๋ว คู่แข่งของ MobileBert ซึ่งมีความเร็วและประสิทธิภาพใกล้เคียงกัน</p><p> </p><p><strong>1.6 Electra :</strong> เป็น Bert จากทีม Google ที่ออกแบบวิธีการ pretrain ให้พัฒนาจาก MLM ของ Bert ดั้งเดิม ทำให้เมื่อนำไป finetune จะมีความแม่นยำมากกว่า Bert (เล็กน้อย)</p><p> </p><p><strong>1.7 Roberta</strong> เป็น bert จากทีม Facebook ซึ่งได้ optimize การ pretrain MLM ของ bert ดั้งเดิม รวมทั้งเพิ่ม pretrained dataset ให้ใหญ่กว่าเดิมมาก ทำให้ได้ผลลัพธ์ดีกว่า Bert</p><p> </p><p><strong>1.8 Longformer :</strong> พัฒนาต่อจาก Roberta โดยทีม AI2 ได้มีการปรับแนวคิด attention mechanism ใหม่ (อธิบายในบทความแนะนำ transformers ของ Patrick ในตอนที่แล้ว) ให้เน้น attend local vector เป็นหล้ก จึงทำให้รองรับ input sequence ได้ยาวกว่า Bert และ Roberta มาก นั่นคือรองรับได้ถึง 4096 tokens ในขณะที่ bert และ roberta มาตรฐานอยู่ที่ 512 tokens</p><p> </p><p><strong>1.9  XLM-Roberta :</strong> พัฒนาต่อจาก Roberta โดย pretrain จาก dataset ถึง 100 ภาษาพร้อมกันทำให้เข้าใจภาษาเกือบทุกภาษาทั่วโลก ซึ่ง ThaiKeras เคยนำเสนอ workshop เกี่ยวกับ XLM-Roberta ไว้ที่นี่ครับ <a href="https://bit.ly/thaikeras-kaggle-xlmr">https://bit.ly/thaikeras-kaggle-xlmr</a></p><p> </p><p><strong>1.10 DPR :</strong> เป็นโมเดลเกือบล่าสุดจาก Facebook โดยพัฒนาให้มี "ความรู้" สำหรับปัญหา open-book Q&amp;A โดยเฉพาะ เมื่อเจอคำถามใดๆ โดยใช้เทคนิคดึงข้อมูลในวิกิพีเดียที่เกี่ยวข้องขึ้นมาอ่าน และ "คัดลอก" ประโยคที่คาดว่าจะเป็นคำตอบจากบทความที่อ่านมาตอบคำถาม</p><p>โมเดล DPR เวอร์ชั่น Tensorflow-Keras บน Huggingface นั้นเขียนโดยทีม ThaiKeras ของเราเองครับ! ซึ่งเราภูมิใจมาก และจะขออนุญาตขยายความในบทความหน้าครับผม</p><p> </p><p>.</p><p> </p><p><span style="text-decoration: underline"><strong>โมเดลกลุ่ม Decoder-only</strong></span></p><p><strong>2.1 GPT-2 :</strong> โมเดลในตำนานของทีม OpenAI ที่เป็นผู้ริเริ่มการใช้ Decoder-only architecture โดยใช้การ pretraining ที่เรียกว่า "language model" หรือการ "เขียนบทความเลียนแบบ" จากบทความต่างๆ ใน trainnig data โดย pretraining dataset ของ GPT-2 นั้นเป็น article มหาศาลแทบทุกประเภทบน internet ครับ</p><p>เพื่อนๆ สามารถทดลองแต่งเรื่องราวสร้างสรรค์ด้วย GPT-2 บน workshop ของเราที่นี่ครับ <a href="https://bit.ly/thaikeras-kaggle-gpt2thai">https://bit.ly/thaikeras-kaggle-gpt2thai</a></p><p>ใน huggingface นั้น มี  pretrained models ให้เลือกหลายขนาดคือ 'gpt2' (ขนาดเล็กสุด 117ล้าน พารามิเตอร์), 'gpt2-medium' (ขนาด 345 ล้านพารามิเตอร์) 'gpt2-large' (ขนาด 774 ล้านพารามิเตอร์) 'gpt2-xl' (ขนาด 1.5 พันล้านพารามิเตอร์)</p><p>อนึ่งแม้ทีม OpenAI จะสร้างโมเดล GPT-3 ขึ้นมาแล้วในปี 2020 ทว่าไม่ได้ opensource ทำให้เราไม่สามารถใช้งานได้ใน Huggingface ครับ</p><p> </p><p><strong>2.2 Diablo GPT :</strong> คือ GPT-2 ที่ถูกนำมา pretrain ใหม่โดยทีม Microsoft บน chat logs จำนวนมหาศาล ทำให้ Diablo GPT นั้นสามารถพูดคุยตอบโต้ได้คล้ายกับ Chatbot (แทนที่จะแต่งเรื่องไปเรื่อยๆ เหมือน GPT-2 ปกติ)</p><p> </p><p><strong>2.3 Ctrl :</strong> เป็นโมเดลขนาด 1.6 พันล้านพารามิเตอร์ใกล้เคียง gpt2-xl จากทีม Salesforce โดยได้ออกแบบให้ training data มี tag ต่างๆ กัน เช่น tag "wikipedia", "horror" หรือ "legal" เป็นต้น ดังนั้นในตอนที่เราสร้างสรรค์เรื่องราวเช่นเดียวกับ gpt-2 เราจะสามารถควบคุมเนื้อเรื่องให้สอดคล้องกับ tag ที่กำหนดได้</p><p> </p><p>.</p><p> </p><p><span style="text-decoration: underline"><strong>โมเดลกลุ่ม Encoder-Decoder</strong></span></p><p>ดั่งที่เกริ่นในบทความตอนที่แล้ว Encoder-Decoder เหล่านี้สถาปัตยกรรมไม่ต่างกันมาก จุดที่แตกต่างจะเป็น pretrained data ของแต่ละตัวครับผม</p><p><strong>3.1 MarianMT :</strong> โดยทีม HelsinkiNLP เป็น transformers ดั้งเดิมเพื่องาน "แปลภาษา" โดยเฉพาะ  โดยมี pretrained models บนคู่ภาษามากกว่า 1,000 คู่รวมทั้งคู่ english-thai, french-thai</p><p> </p><p><strong>3.2 T5 :</strong> โดยทีม Google , ถ้าไม่นับ GPT-3  เจ้า T5 นับว่าเป็นโมเดลที่ใหญ่และดังทีสุดในปี 2020, เนื่องจากเป็นโมเดลแรกที่ทำ benchmark มาตรฐาน SuperGLUE ที่ยากที่สุดของปัญหา "เลือกคำตอบ" ได้ทัดเทียมมนุษย์ (รายละเอียดในตอนพิเศษใน <a href="https://bit.ly/thaikeras-understanding-nlp">https://bit.ly/thaikeras-understanding-nlp</a>) และเจ้า pretrained weights นอกจากสามารถใช้ตอบคำถามต่างๆ superGLUE แล้วยังสามารถ "ย่อบทความ" ได้ในตัวโดยไม่ต้อง finetune ใดๆ จึงนับว่าสารพัดประโยชน์มากๆ</p><p>T5 มี pretrained weights หลายขนาดเช่นกัน คือ t5-small, t5-base, t5-large, t5-3B (3พันล้านพารามิเตอร์) และ t5-11B (1.1 หมื่นล้านพารามิเตอร์) ใหญ่มากจนคนธรรมดาอย่างเราใช้ไม่ได้ :p เพราะต้องการเครื่อง spec สูงมากๆ</p><p> </p><p><strong>3.3 Bart :</strong> ของทีม Facebook ซึ่งเป็นคู่แข่งของ T5 (ใน size ใกล้เคียงกัน) โดย Bart นั้นมีการ pretrain บน unsupervised data และงาน "ย่อความ" คล้ายๆ T5 แต่ไม่มี pretrained บน superGLue</p><p> </p><p><strong>3.4 mBart</strong> : โดยทีม Facebook เช่นกัน ขยายความสามารถของ Bart เพื่อแปลภาษาหลายคู่ภาษา</p><p> </p><p><strong>3.5 BlenderBot : เ</strong>ป็น Chatbot ที่น่าจะดีที่สุดที่มี Opensource ผลงานจากทีม Facebook เช่นเดิม โดยมี structure เช่นเดียวกับ Bart แต่ขยายให้ใหญ่ขึ้น โดยตัวที่ใหญ่ที่สุดใน Huggingface มีขนาด 3พันล้านพารามิเตอร์</p><p> </p><p><strong>3.6 RAG :</strong> โมเดลล่าสุดจาก Facebook ที่รวมความสามารถของ Bart และ DPR เข้าด้วยกัน ซึ่งเป็นหนึ่งในไม่กี่โมเดลในปัจจุบันที่ตอบปัญหา Free-form Open-Domain Question-Answering ได้ นั่นคือตอบคำถามอะไรก็ได้ โดยไม่ต้องใบ้คำตอบใดๆ เลยแม้แต่น้อย เนื่องจากโมเดลจะไปค้นวิกิพีเดียมาตอบเอง และสามารถตอบได้อย่างอิสระด้วยความสามารถของ Bart (ไม่ได้ก้อปปี้คำตอบจากบทความมาเหมือน DPR) โมเดลนี้เป็นโมเดลที่ผมสนใจเป็นการส่วนตัวที่สุด และ ThaiKeras กำลังเขียนเวอร์ชัน Tensorflow-Keras ร่วมกับ Huggingface อยู่ครับ</p><p> </p><p><strong>3.7 Pegasus :</strong> อีกหนึ่งโมเดลจากทีม google ออกแบบ unsupervised pretraining task ใหม่ (อีกแล้ว) และปัจจุบันเป็น 1 ในโมเดลที่ทำงานด้าน "ย่อความ" ได้ดีที่สุด โดยมีความสามารถใกล้เคียงกับ T5 ตัวที่ใหญ่ที่สุดทั้งที่โมเดลมีขนาดเล็กกว่ามาก</p><p> </p><p><strong>3.8 ProphetNet :</strong> โมเดลจากทีม Microsoft ที่ออกแบบ unsupervised pretraining task ให้ทำนาย tokens ในอนาคตแบบ N-Gram พร้อมกัน และ Microsoft report ว่าโมเดลนี้เมื่อนำไป finetune ให้ผลลัพธ์ที่ดีมากๆ ในหลาย dataset</p><p> </p><p><span style="text-decoration: underline"><strong>โมเดลกลุ่ม Multi-modal</strong></span></p><p><strong>4.1 LXMert :</strong> เป็นโมเดลแรกใน Huggingface ที่ฝั่ง Encoder รับ input ที่เป็นรูปภาพและภาษาได้พร้อมกัน ซึ่งทำให้ทำงานที่เชื่อมระหว่างสองโดเมนนี้ได้ เช่น อธิบายรูปภาพ (image captioning) และตอบคำถามจากภาพ (visual question answering) เป็นต้น</p><p> </p><p>ในอนาคตถ้าผมได้มีโอกาสทดลองใช้และศึกษาเพิ่มเติม ก็จะมาอัพเดตบทความนี้เรื่อยๆ เพื่อให้ทันสมัยมากขึ้นครับ สำหรับบทความหน้าเราจะมาเจาะและทดลองใช้โมเดลที่สามารถอ่านวิกิพีเดียเพื่อตอบคำถาม ที่ชื่อว่า DPR  (1.10) กันครับ</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/paged/2/#post-397</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-395</link>
                        <pubDate>Sat, 14 Nov 2020 07:38:04 +0000</pubDate>
                        <description><![CDATA[บทความเจาะลึก Transformers ล้ำๆ จาก Huggingface teamThaiKeras and Kaggle  11 พย. 2563สวัสดีครับเพื่อนๆ เชื่อว่าทุกคนที่ทำงาน data science หรือ machine learning ด้านภาษา หรือข้อมูลมีลำดับ (se...]]></description>
                        <content:encoded><![CDATA[<p><span style="text-decoration: underline;font-size: 18pt"><strong>บทความเจาะลึก </strong><strong>Transformers</strong> <strong>ล้ำๆ จาก </strong><strong>Huggingface team</strong></span></p><p><em>ThaiKeras and Kaggle  </em><em>1</em><em>1 </em><em>พย. </em><em>2563</em></p><p>สวัสดีครับเพื่อนๆ เชื่อว่าทุกคนที่ทำงาน data science หรือ machine learning ด้านภาษา หรือข้อมูลมีลำดับ (sequential data) ย่อมรู้จักเป็นอย่างดีกับโมเดล Transformers ซึ่งปัจจุบันเป็น "มาตรฐานที่ดีที่สุด" ของงานกลุ่มนี้ โดยโมเดลที่ดีที่สุดในสามปีหลังต่างก็เป็น "สมาชิก" ในตระกูลนี้ทั้งสิ้น</p><p>นอกจากนี้เพื่อนๆ ย่อมรู้จักทีม Huggingface ซึ่งเป็นเจ้าของ open source library ของโมเดล Transformers ต่างๆ ที่ครบถ้วนมากที่สุด และใช้งานง่ายที่สุด และครอบคลุมทั้ง Tensorflow-keras และ Pytorch</p><p>อย่างไรก็ดีนอกจากผลงานโมเดลแล้ว ทีม Huggingface ยังได้แชร์ความรู้ผ่านบทความหรือโน้ตบุคมากมายอีกด้วย วันนี้อยากแนะนำบทความที่จะเป็นพื้นฐานสำคัญๆ ที่จะทำให้เราเข้าใจโมเดลที่พัฒนาล่าสุดและดีที่สุดในปัจจุบันครับ</p><p> </p><p><span style="text-decoration: underline"><strong>Transformer-based Encoder-Decoder Models</strong></span></p><p>โดย Patrick von Platen อ่านที่นี่ --&gt; <a href="https://huggingface.co/blog/encoder-decoder">https://huggingface.co/blog/encoder-decoder</a></p><p>โมเดล Transformers ดั้งเดิมนั้นประกอบไปด้วย สองบล็อกใหญ่ๆ คือบล็อก Encoder ซึ่งทำหน้าที่เปลี่ยนข้อมูล (หรือเรียกเท่ห์ๆ ว่า "เข้ารหัส") อาทิเช่น ประโยคในภาษาต่างๆ ให้เป็นเวกเตอร์ทางคณิตศาสตร์ </p><p>บล็อกที่สองคือ Decoder ก็จะทำหน้าที่ "ถอดรหัส" เวกเตอร์ทางคณิตศาสตร์ให้กลับมาเป็นข้อความที่เราต้องการครับ</p><p>หลักการเข้ารหัสและถอดรหัสหรือ Encoder-Decoder นี้ สามารถใช้กับงานทางด้านภาษามากมาย อาทิเช่น</p><ul><li>แปลภาษา เช่น เข้ารหัสภาษาอังกฤษ และถอดรหัสออกเป็นภาษาไทย</li><li>ย่อความ เช่น เข้ารหัสบทความต้นฉบับ (ยาวๆ) และถอดรหัสออกมาเฉพาะข้อความที่สำคัญจริงๆ</li><li>ตอบคำถาม เช่น เข้ารหัสประโยคคำถาม และถอดรหัสออกมาเป็นประโยคคำตอบ (ในกรณีนี้โมเดลต้องมี "ความรู้" ในตัว หรือสามารถเข้าถึงความรู้ที่ถูกต้องและ "เข้ารหัส" ความรู้ร่วมกับคำถามได้ )</li></ul><p>ซึ่งโมเดลชื่อดังระดับเทพต่างๆ ที่เราเห็นในเพจของ Huggingface <a href="https://huggingface.co/transformers/model_summary.html">https://huggingface.co/transformers/model_summary.html</a> นั้น เช่น T5, Bart, MarianMT, Pegasus หรือ ProphetNet ล้วนแต่มี architecture พื้นฐานแบบเดียวกันทั้งสิ้น  ดังนั้นถ้าเพื่อนๆ เข้าใจพื้นฐานของ  Encoder-Decoder นี้อย่างดีแล้วก็จะทำให้เพื่อนๆ เข้าใจโมเดลที่คิดขึ้นมาใหม่ได้อย่างไม่ยาก</p><p>ในบทความนี่้ Patrick จะอธิบาย Transformers อย่างละเอียดมากๆ (มากที่สุดเท่าที่ผมเคยอ่านบล็อกเกี่ยวกับ Transformers มาเลยครับ :D )</p><ul><li>ความเป็นมา เจ้า Transformers ซึ่งได้รับแรงบันดาลใจจาก RNN นั้นถูกคิดค้นมาได้อย่างไร ?  </li><li>อธิบาย "ภาพใหญ่" หรือ flow ของ Encoder-Decoder ผ่านกรอบของ "ทฤษฎีความน่าจะเป็น"</li><li>เจาะลึกสมการฝั่ง Encoder</li><li>เจาะลึกสมการฝั่ง Decoder</li></ul><p>Patrick เจ้าของบทความนี้เป็นผู้ implement โมดูลสำคัญๆ บน Huggingface หลายชิ้น เช่น T5, Sampling-based Decoding และ Beam-Search Decoding ทำให้ตกผลึกออกมาเป็นบทความนี้ครับ</p><p>ผมมั่นใจว่าถ้าเพื่อนๆ อ่านจบบทความนี้ รวมทั้งทำความเข้าใจโค้ด tutorial transformer ของ official tensorflow (<a href="https://www.tensorflow.org/tutorials/text/transformer">https://www.tensorflow.org/tutorials/text/transformer</a>) เพื่อนๆ จะเข้าใจ Transformers อย่างลึกซึ้งแน่นอน ซึ่งทำให้เข้าใจแก่นสำคัญของโมเดลล่าสุดต่างๆ อีกด้วย</p><p>โอกาสถัดไปจะนำบทความเยี่ยมๆ ของทีมนี้มาแนะนำกันอีกครับ วันนี้ขอตัวก่อนครับผม สุขสันต์วัน 11.11 คร้าบบบ</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-395</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-393</link>
                        <pubDate>Thu, 29 Oct 2020 12:44:55 +0000</pubDate>
                        <description><![CDATA[โมเดล AI ที่ตอบคำถามได้ เก่งแค่ไหน?Deep Language &amp; Knowledge Understanding Series ตอนที่ 4ThaiKeras and Kaggle 29 ตค. 2563 สวัสดีครับเพื่อนๆ วันนี้เรามาต่อเรื่อง &quot;ความรู้ที่ถ่ายทอดด้วยภา...]]></description>
                        <content:encoded><![CDATA[<div class="" data-block="true" data-editor="cr9cp" data-offset-key="b76sm-0-0"><div class="_1mf _1mj" data-offset-key="b76sm-0-0"><span style="text-decoration: underline"><strong><span style="font-size: 18pt" data-offset-key="b76sm-0-0">โมเดล AI ที่ตอบคำถามได้ เก่งแค่ไหน?</span></strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6p55t-0-0"><div class="_1mf _1mj" data-offset-key="6p55t-0-0"><span style="text-decoration: underline"><strong><span style="font-size: 18pt" data-offset-key="6p55t-0-0">Deep Language &amp; Knowledge Understanding Series ตอนที่ 4</span></strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="dmckq-0-0"><div class="_1mf _1mj" data-offset-key="dmckq-0-0"><em>ThaiKeras and Kaggle 29 ตค. 2563</em></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bgqkj-0-0"><div class="_1mf _1mj" data-offset-key="bgqkj-0-0"><span data-offset-key="bgqkj-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="85jb8-0-0"><div class="_1mf _1mj" data-offset-key="85jb8-0-0"><span data-offset-key="85jb8-0-0">สวัสดีครับเพื่อนๆ วันนี้เรามาต่อเรื่อง "ความรู้ที่ถ่ายทอดด้วยภาษา" ของ AI ที่่ดีที่สุดในปัจจุบันกันต่อใน Series นี้ครับ</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="9k2av-0-0"><div class="_1mf _1mj" data-offset-key="9k2av-0-0"><span data-offset-key="9k2av-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="4lqa6-0-0"><div class="_1mf _1mj" data-offset-key="4lqa6-0-0"><span data-offset-key="4lqa6-0-0">เนื่องจาก series นี้บทความล่าสุดอยู่ที่สองเดือนที่แล้ว เรามาสรุปความเป็นมาของตอนก่อนๆ ดังนี้ครับ</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="auf9s-0-0"><div class="_1mf _1mj" data-offset-key="auf9s-0-0"><span data-offset-key="auf9s-0-0">(อ่านย้อนหลังทั้งหมดได้ที่นี่ https://bit.ly/thaikeras-understanding-nlp )</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="4vptp-0-0"><div class="_1mf _1mj" data-offset-key="4vptp-0-0"><span data-offset-key="4vptp-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6vlcb-0-0"><div class="_1mf _1mj" data-offset-key="6vlcb-0-0"><span data-offset-key="6vlcb-0-0"> - ตอนปฐมบท: ว่าด้วยเรื่องปรากฏการณ์ "ม้าฮันส์" ที่ล้อเลียนโมเดล AI ที่เหมือนจะเข้าใจภาษาได้ดีมากแต่พอนำไปใช้จริง ผิดพลาดง่ายๆ เต็มไปหมด</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2980e-0-0"><div class="_1mf _1mj" data-offset-key="2980e-0-0"> </div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2996q-0-0"><div class="_1mf _1mj" data-offset-key="2996q-0-0"><span data-offset-key="2996q-0-0"> - ตอนที่ 1 : ว่าด้วยเรื่องโมเดล AI ทำคะแนน "ข้อสอบมัธยม" (แบบเลือกคำตอบที่ถูกต้องที่สุด) ได้คะแนนระดับเกรด A+</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6djje-0-0"><div class="_1mf _1mj" data-offset-key="6djje-0-0"> </div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="dr72n-0-0"><div class="_1mf _1mj" data-offset-key="dr72n-0-0"><span data-offset-key="dr72n-0-0"> - ตอนที่ 2 : นักวิจัยตีพิมพ์งานในเดือนเมษายน 2020 โต้ว่า โมเดล AI ที่ดีที่สุด "ไม่มีความสามารถในการพูดคุยอย่างรู้เรื่องอย่างแท้จริง" (การ "พูดคุย" นี้วัดด้วยการสร้างประโยคตอบโต้กับมนุษย์ ซึ่งต่างจากการเลือกคำตอบที่ดีที่สุดในตอนที่ 1 )</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="77eed-0-0"><div class="_1mf _1mj" data-offset-key="77eed-0-0"> </div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="5u0vn-0-0"><div class="_1mf _1mj" data-offset-key="5u0vn-0-0"><span data-offset-key="5u0vn-0-0"> - ตอนพิเศษ A : เจาะลึก "บททดสอบมาตรฐาน" สุดหินเรียกว่า SuperGLUE ที่่ใช้ทดสอบโมเดลชั้นนำทั้งหลาย ที่ยังเน้นเฉพาะ "เรื่องการอ่าน และเลือกคำตอบที่ดีที่สุด" ในลักษณะเดียวกับปัญหาข้อสอบมัธยมในตอนที่ 1 … ซึ่งโมเดลชื่อ T5 ของ Google ทำคะแนนได้ใกล้เคียงมนุษย์แล้ว</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bggkf-0-0"><div class="_1mf _1mj" data-offset-key="bggkf-0-0"> </div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bmb8i-0-0"><div class="_1mf _1mj" data-offset-key="bmb8i-0-0"><span data-offset-key="bmb8i-0-0"> - ตอนที่ 3 : ว่าด้วยเรื่อง "ความสามารถในการเขียน" (อาทิเช่น การตอบคำถามแบบให้เหตุผล หรือการพูดคุย) ซึ่งจะเป็นการทดสอบ "ความฉลาด" ได้ดีกว่า "การอ่านและเลือกคำตอบ" เนื่องจากนอกจากต้องเขียนให้ถูกแล้ว ในประโยคยาวๆ จำเป็นต้องเข้าใจเหตุผลที่เชื่อมโยงแต่ละประโยคเข้าด้วยกันอีกด้วย นอกจากนี้ในปัญหาตอบคำถามหรือพูดคุยยังต้องมีความรู้พื้นฐาน common sense ต่างๆ เกี่ยวกับสังคมและโลกของเราอีกด้วย</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="5vl66-0-0"><div class="_1mf _1mj" data-offset-key="5vl66-0-0"><span data-offset-key="5vl66-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="4qrt7-0-0"><div class="_1mf _1mj" data-offset-key="4qrt7-0-0"><span data-offset-key="4qrt7-0-0">จากบทความที่ผ่านมา หลายคนอาจจะสงสัยว่าแล้วตกลง "AI ฉลาดจริงไหม?" กล่าวโดยสรุป คำตอบก็คือ "แล้วแต่ว่าวัดด้วยมาตรฐานไหน?" เช่น ถ้าวัดด้วยมาตรฐานการทำข้อสอบ เลือกคำตอบที่ดีที่สุด หรือแม้กระทั่งการ "แปลภาษา" โมเดล AI ที่ถูกคิดค้นในปีหลังๆ มานี้นั้นฉลาดมากๆ ระดับปริญญาครับ </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6e3de-0-0"><div class="_1mf _1mj" data-offset-key="6e3de-0-0"><span data-offset-key="6e3de-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2ce8a-0-0"><div class="_1mf _1mj" data-offset-key="2ce8a-0-0"><span data-offset-key="2ce8a-0-0">อย่างไรก็ดีถ้าวัดด้วยมาตรฐานอื่นๆ เช่น "การคุยตอบโต้กับมนุษย์ในบทสนทนายาวๆ" หลายๆ โมเดล AI ที่ได้ผลการทดลองดีมากและผู้เขียนมีโอกาสได้ลองเป็นการส่วนตัวนั้น (อาทิเช่น DiabloGPT ของ Microsoft และ BlenderBot ของ Facebook ดูอ้างอิง 1 และ 2) ยังถือได้ว่าห่างชั้นจากการพูดคุยกับมนุษย์อยู่มาก โดยเฉพาะเวลาเราเปลี่ยนหัวข้อที่พูดอยู่ หรือย้อนกลับไปถามเรื่องเดิม </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="b3frd-0-0"><div class="_1mf _1mj" data-offset-key="b3frd-0-0"><span data-offset-key="b3frd-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="1qovr-0-0"><div class="_1mf _1mj" data-offset-key="1qovr-0-0"><span data-offset-key="1qovr-0-0">โมเดล GPT-3 ซึ่งเป็นโมเดลขนาดยักษ์ของทีม OpenAI ซึ่งใหญ่กว่าโมเดลของทีมอื่นๆ นับร้อยเท่า ดูจะเป็นโมเดลที่น่าจะพูดคุยตอบโต้ได้ใกล้เคียงกับมนุษย์อย่างแท้จริง อย่างไรก็ดี ณ วันนี้ OpenAI ยังคงไม่เปิดเผยโค้ดของโมเดลนี้ เราจึงดูความสามารถในการพูดคุยของ GPT-3 ผ่าน chat log ของผู้ที่มีสิทธิใช้งานเท่านั้น (ดูอ้างอิง 3) และเท่าที่ตามดูทีมวิจัยอื่นๆ ยังไม่สามารถสร้างโมเดลที่มีความสามารถใกล้เคียงกับ GPT-3 ได้</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="atoj6-0-0"><div class="_1mf _1mj" data-offset-key="atoj6-0-0"><span data-offset-key="atoj6-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="3ste7-0-0"><div class="_1mf _1mj" data-offset-key="3ste7-0-0"><span data-offset-key="3ste7-0-0">ในตอนที่ 3 เรายังได้เห็นว่าหลายๆ ปัญหานั้นยากเท่าเทียมกัน อาทิเช่น ปัญหาตอบคำถามแบบไม่มีตัวเลือก (Free-form Question Answering) ปัญหาสร้าง Chatbot และปัญหาแต่งเรื่องราว (Story Generation) ในบทความตอนที่ 4 นี้เราจะมา survey กันที่ ปัญหา "ตอบคำถามแบบไม่มีตัวเลือก" นี้่ซึ่งมีหลายประเภทกันครับ</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="8u2p2-0-0"><div class="_1mf _1mj" data-offset-key="8u2p2-0-0"><span data-offset-key="8u2p2-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="buvv-0-0"><div class="_1mf _1mj" data-offset-key="buvv-0-0"><span data-offset-key="buvv-0-0">.</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="527l5-0-0"><div class="_1mf _1mj" data-offset-key="527l5-0-0"><span data-offset-key="527l5-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="f4o1l-0-0"><div class="_1mf _1mj" data-offset-key="f4o1l-0-0"><span style="text-decoration: underline"><strong>ประเภทของปัญหาแบบไม่มีตัวเลือก (Q&amp;A problems)</strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="a7mf6-0-0"><div class="_1mf _1mj" data-offset-key="a7mf6-0-0"><span data-offset-key="a7mf6-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="fuckm-0-0"><div class="_1mf _1mj" data-offset-key="fuckm-0-0"><span data-offset-key="fuckm-0-0">ปัญหา Question-Answering หรือ Q&amp;A นี้แบ่งหยาบๆ ออกได้เป็น 4 หมวดหมู่ไล่จากง่ายที่สุดไปยากที่สุด โดยงานวิจัยที่มักอ้างว่าสร้างโมเดลที่เก่งใกล้มนุษย์ใน Q&amp;A มักมุ่งเป้าเฉพาะหมวดที่ 1 ส่วนงานวิจัยใหม่ๆ ในปี 2020 กำลังมุ่งมายัง Q&amp;A หมวดที่ 2-3 ครับ</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="4r6bg-0-0"><div class="_1mf _1mj" data-offset-key="4r6bg-0-0"><span data-offset-key="4r6bg-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="9c8eg-0-0"><div class="_1mf _1mj" data-offset-key="9c8eg-0-0"><span data-offset-key="9c8eg-0-0">หมวดที่ 1 ง่าย - Closed-domain Q&amp;A on 1 short context</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="ak8mi-0-0"><div class="_1mf _1mj" data-offset-key="ak8mi-0-0"><span data-offset-key="ak8mi-0-0">หมวดที่ 2 ยาก - Closed-domain Q&amp;A on 1 long context or multiple contexts</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2gaum-0-0"><div class="_1mf _1mj" data-offset-key="2gaum-0-0"><span data-offset-key="2gaum-0-0">หมวดที่ 3 ยากมาก - Open-domain short answer Q&amp;A</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="5fsur-0-0"><div class="_1mf _1mj" data-offset-key="5fsur-0-0"><span data-offset-key="5fsur-0-0">หมวดที่ 4 ยากมากที่สุด - Open-domain long-answer Q&amp;A</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="d7j03-0-0"><div class="_1mf _1mj" data-offset-key="d7j03-0-0"><span data-offset-key="d7j03-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6f0g3-0-0"><div class="_1mf _1mj" data-offset-key="6f0g3-0-0"><span data-offset-key="6f0g3-0-0">.</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="fbngq-0-0"><div class="_1mf _1mj" data-offset-key="fbngq-0-0"><span data-offset-key="fbngq-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6vv4v-0-0"><div class="_1mf _1mj" data-offset-key="6vv4v-0-0"><span data-offset-key="6vv4v-0-0">**********</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="c9lg8-0-0"><div class="_1mf _1mj" data-offset-key="c9lg8-0-0"><span data-offset-key="c9lg8-0-0"><strong><span style="text-decoration: underline">หมวดที่ 1 ง่าย - Closed-domain Q&amp;A on 1 short context</span></strong> </span></div><div data-offset-key="c9lg8-0-0"> </div><div class="_1mf _1mj" data-offset-key="c9lg8-0-0"><span data-offset-key="c9lg8-0-0">คำว่า Closed domain หมายถึงในการถามคำถามนั้น ผู้ถามจะเตรียม "เนื้อหาที่บรรจุคำตอบไว้ข้างใน" (context) ให้กับโมเดลเสมอ โดยในหมวดที่ 1 นี้จะมี context เพียง 1 บทความและเป็นบทความสั้นๆ เท่านั้น (เช่น ไม่เกิน 512 หรือ 1024 คำเป็นต้น) โดยที่ต้องเป็นบทความสั้นแบบนี้เนื่องจากสามารถส่งเป็น input ของโมเดลกลุ่ม transformers ซึ่งเป็นโมเดลภาษาที่ดีที่สุดได้ตรงๆ ไม่ต้องตัดทอนใดๆ และทำให้ transformers วิเคราะห์คำและความสัมพันธ์ระหว่างคำสำคัญทุกคำใน context ได้</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bvf5k-0-0"><div class="_1mf _1mj" data-offset-key="bvf5k-0-0"><span data-offset-key="bvf5k-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="73t12-0-0"><div class="_1mf _1mj" data-offset-key="73t12-0-0"><span data-offset-key="73t12-0-0">ในแต่ละคู่ลำดับของ training data (x,y) ซึ่ง x เป็น input และ y เป็น output , ตัว input x ก็จะต้องประกอบไปด้วยคำถาม และบทความ นั่นคือ x = (q, c) เป็นต้น โดย q = string ของคำถามและ c = string ของบทความหรือ context และ y ซึ่งเป็นคำตอบก็จะเป็น substring ของ c เป็นต้น</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="fln1-0-0"><div class="_1mf _1mj" data-offset-key="fln1-0-0"><span data-offset-key="fln1-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="36u1i-0-0"><div class="_1mf _1mj" data-offset-key="36u1i-0-0"><span data-offset-key="36u1i-0-0">เช่น สมมติถามว่า q = "นายกรัฐมนตรีคนแรกของประเทศไทยคือใคร ?" data ก็จะต้องแนบ c = บทความเกี่ยวกับ "ประวัตินายกรัฐมนตรีของไทย" (ฉบับสั้น) ให้กับโมเดล ซึ่งมีชื่อของ y="พระยามโนปกรณ์นิติธาดา" อยู่ใน c ด้วย เป็นต้น</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bttc5-0-0"><div class="_1mf _1mj" data-offset-key="bttc5-0-0"><span data-offset-key="bttc5-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="aloqq-0-0"><div class="_1mf _1mj" data-offset-key="aloqq-0-0"><span data-offset-key="aloqq-0-0">หมวดที่ 1 นี้จริงๆ ถูกบรรจุอยู่ใน SuperGLUE (ตอนพิเศษ) เรียบร้อยแล้วและอาจไม่ท้าทายมากนักสำหรับโมเดล AI เก่งๆ ในปี 2020 เช่น T5 ซึ่งทีม ThaiKeras เราก็เคยแชร์บทความและโมเดลที่แก้ปัญหาในหมวดที่ 1 ไว้ในบทความนี้ครับ "ถอดรหัสถ้อยความสำคัญจาก Twitter"</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="cr727-0-0"><div class="_1mf _1mj" data-offset-key="cr727-0-0"><span data-offset-key="cr727-0-0">https://bit.ly/thaikeras-kaggle-tweet20</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="fmgk3-0-0"><div class="_1mf _1mj" data-offset-key="fmgk3-0-0"><span data-offset-key="fmgk3-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="75o26-0-0"><div class="_1mf _1mj" data-offset-key="75o26-0-0"><span data-offset-key="75o26-0-0">.</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="ertb2-0-0"><div class="_1mf _1mj" data-offset-key="ertb2-0-0"><span data-offset-key="ertb2-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="1n9k1-0-0"><div class="_1mf _1mj" data-offset-key="1n9k1-0-0"><span data-offset-key="1n9k1-0-0">**********</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="el7fq-0-0"><div class="_1mf _1mj" data-offset-key="el7fq-0-0"><span style="text-decoration: underline"><strong>หมวดที่ 2 ยาก - Closed-domain Q&amp;A on 1 long context or multiple contexts</strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="7avmh-0-0"><div class="_1mf _1mj" data-offset-key="7avmh-0-0"><span data-offset-key="7avmh-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="7lkjp-0-0"><div class="_1mf _1mj" data-offset-key="7lkjp-0-0"><span data-offset-key="7lkjp-0-0">หมวดที่ 2 นี้คือกรณีที่ context นั้นประกอบไปด้วยหลายบทความ หรือบทความเดียวแต่ยาวมากๆ เกินกว่าที่ transformers ปัจจุบันจะอ่านได้ใน 1 input ซึ่งก็ทำให้ต้องซอยตัดแบ่งบทความยาวออกเป็นหลายๆ บทความย่อย </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="96e1d-0-0"><div class="_1mf _1mj" data-offset-key="96e1d-0-0"><span data-offset-key="96e1d-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="enipi-0-0"><div class="_1mf _1mj" data-offset-key="enipi-0-0"><span data-offset-key="enipi-0-0">นอกจากนี้ในการตอบปัญหาอาจจำเป็นต้องใช้ความรู้จากหลายบทความอีกด้วย (เรียกว่า multi-hop reasoning) เช่น คำถาม "ใครคือนักแสดงที่มีผลงานจากทั้งเรื่องบุพเพสันนิวาส และสุภาพบุรุษจุฑาเทพ" จำเป็นต้องมี contexts จากสองบทความคือ บทความบุพเพสันนิวาส c1 และบทความสุภาพบุรุษจุฑาเทพ c2 โมเดลถึงจะตอบได้ถูกต้องว่า "เบลล่า" เป็นต้น</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2ogoa-0-0"><div class="_1mf _1mj" data-offset-key="2ogoa-0-0"><span data-offset-key="2ogoa-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="6ebmp-0-0"><div class="_1mf _1mj" data-offset-key="6ebmp-0-0"><span data-offset-key="6ebmp-0-0">การทำความเข้าใจจากบทความที่ยาวหรือหลายบทความในปัญหาหมวดที่ 2 นี้นั้นยากกว่าหมวดที่ 1 พอสมควร โดย dataset ใหม่ๆ ก็เริ่มมาหมวดที่ 2 มากขึ้นเช่น Google Natural Question dataset ที่สร้าง Q&amp;A จากคำถามที่ถูกถามผ่าน Google บ่อยๆ และให้ context เป็นบทความวิกิพีเดียที่ยาวมากๆ กับโมเดล</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="eakkn-0-0"><div class="_1mf _1mj" data-offset-key="eakkn-0-0"><span data-offset-key="eakkn-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="al3no-0-0"><div class="_1mf _1mj" data-offset-key="al3no-0-0"><span data-offset-key="al3no-0-0">ในปัญหา Natural Question นี้ ปัจจุบันเดือนตุลาคม 2020 โมเดลที่เก่งที่สุดจาก Microsoft ตอบคำถามได้ถูกต้องราว 77% ในขณะที่มนุษย์นั้นถูกต้องราว 87% (ดูอ้างอิง 4)</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="ab8dj-0-0"><div class="_1mf _1mj" data-offset-key="ab8dj-0-0"><span data-offset-key="ab8dj-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="7td7o-0-0"><div class="_1mf _1mj" data-offset-key="7td7o-0-0"><span data-offset-key="7td7o-0-0">ในหมวด 1 และ 2 นั้นเนื่องจากคำตอบ y อยู่ในบทความหรือ context c ที่เตรียมให้โมเดลอ่านอยู่แล้ว Q&amp;A ทั้งสองหมวดนี้จึงมีอีกชื่อเรียกว่าเป็น "ปัญหาการอ่านเพื่อความเข้าใจ" หรือ "Reading Comprehension Problem" โดยในหมวด 2 ก็อาจจะมีคำว่า "Multi-hop" เพื่อเน้นว่ายากกว่าหมวดที่ 1</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bh08u-0-0"><div class="_1mf _1mj" data-offset-key="bh08u-0-0"><span data-offset-key="bh08u-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="e67fe-0-0"><div class="_1mf _1mj" data-offset-key="e67fe-0-0"><span data-offset-key="e67fe-0-0">.</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="eehld-0-0"><div class="_1mf _1mj" data-offset-key="eehld-0-0"><span data-offset-key="eehld-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="1tjo6-0-0"><div class="_1mf _1mj" data-offset-key="1tjo6-0-0"><span data-offset-key="1tjo6-0-0">**********</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2rm33-0-0"><div class="_1mf _1mj" data-offset-key="2rm33-0-0"><span style="text-decoration: underline"><strong>หมวดที่ 3 ยากมาก - Open-domain short-answer (factoid ) Q&amp;A</strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="3bbu4-0-0"><div class="_1mf _1mj" data-offset-key="3bbu4-0-0"><span data-offset-key="3bbu4-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="eee3r-0-0"><div class="_1mf _1mj" data-offset-key="eee3r-0-0"><span data-offset-key="eee3r-0-0">ในปัญหาหมวดที่ 3 นี้ต่างจากหมวดที่ 1 และ 2 ตรงที่ใน training data จะไม่มี context มาให้ จึงเรียกปัญหากลุ่มนี้ว่าปัญหา Open Domain, ซึ่ง training data (x,y) เหมือนกับหมวด 1 และ 2 เพียงแต่ x = q นั่นคือมีแค่คำถามเท่านั้น ไม่มี context มาให้</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2k2kh-0-0"><div class="_1mf _1mj" data-offset-key="2k2kh-0-0"><span data-offset-key="2k2kh-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="9ta1e-0-0"><div class="_1mf _1mj" data-offset-key="9ta1e-0-0"><span data-offset-key="9ta1e-0-0">เนื่องจากไม่มี contexts มาให้ ดังนั้นโมเดลจึงจำเป็นต้องมี "ความรู้" อยู่ในตัวเลย และสามารถ "เรียกใช้หรือเข้าถึง" (retrieve) ความรู้ที่ถูกต้องสำหรับคำถามนั้นๆ ขึ้นมาได้ด้วย</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="730md-0-0"><div class="_1mf _1mj" data-offset-key="730md-0-0"><span data-offset-key="730md-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="adfhe-0-0"><div class="_1mf _1mj" data-offset-key="adfhe-0-0"><span data-offset-key="adfhe-0-0">ในหมวดที่ 3 นี้คำตอบ y ยังคงเป็นคำตอบที่เป็นคำนามสั้นๆ เช็คความรู้ง่ายๆ (เช่น "เบลล่า" ในตัวอย่างที่แล้ว) ดังนั้นปัญหาในกลุ่มนี้จึงมักถูกเรียกว่า "open-domain factoid Q&amp;A" เนื่องจาก factoid มาจากคำว่า facts หรือคือ "ความจริง" หรือ "ความรู้สั้นๆ" นั่นเอง</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="ffo5k-0-0"><div class="_1mf _1mj" data-offset-key="ffo5k-0-0"><span data-offset-key="ffo5k-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="5uupi-0-0"><div class="_1mf _1mj" data-offset-key="5uupi-0-0"><span data-offset-key="5uupi-0-0">โมเดลใหม่ล่าสุดในปี 2020 ซึ่งเราสามารถใช้งานได้ที่ HuggingFace เช่น DPR, REALM หรือ RAG (อ้างอิง 5) นั้นถูกออกแบบมาเพื่อทำโจทย์เช่นนี้โดยเฉพาะ ซึ่งยังมีความห่างชั้นจากมนุษย์อยู่พอควร</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2n2o9-0-0"><div class="_1mf _1mj" data-offset-key="2n2o9-0-0"><span data-offset-key="2n2o9-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="eu0b1-0-0"><div class="_1mf _1mj" data-offset-key="eu0b1-0-0"><span data-offset-key="eu0b1-0-0">.</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="bvsce-0-0"><div class="_1mf _1mj" data-offset-key="bvsce-0-0"><span data-offset-key="bvsce-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="ddmpn-0-0"><div class="_1mf _1mj" data-offset-key="ddmpn-0-0"><span data-offset-key="ddmpn-0-0">**********</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="eug69-0-0"><div class="_1mf _1mj" data-offset-key="eug69-0-0"><span style="text-decoration: underline"><strong>หมวดที่ 4 ยากมากที่สุด - Open-domain long-form (free-form) Q&amp;A</strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="60rri-0-0"><div class="_1mf _1mj" data-offset-key="60rri-0-0"><span data-offset-key="60rri-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="at5qa-0-0"><div class="_1mf _1mj" data-offset-key="at5qa-0-0"><span data-offset-key="at5qa-0-0">ในหมวดคำถามตอบสุดท้ายซึ่งยากที่สุด นั่นคือ คำถามไม่ได้ต้องการเพียงคำตอบง่ายๆ สั้นๆ เท่านั้น แต่ยังต้องการเหตุผลอธิบายอีกด้วย เช่น คำถามประเภท how, why, what if เป็นต้น (ให้พวกเรานึกถึงกระทู้ถามตอบใน pantip.com ) เรียกได้ว่าเป็นปัญหาที่ต้องการโมเดลที่สามารถ "ให้เหตุผลได้อย่างแท้จริง" (True Reasoning)</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="40vnp-0-0"><div class="_1mf _1mj" data-offset-key="40vnp-0-0"><span data-offset-key="40vnp-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="5d4k5-0-0"><div class="_1mf _1mj" data-offset-key="5d4k5-0-0"><span data-offset-key="5d4k5-0-0">ในปัจจุบันมีงานวิจัยน้อยมากที่เจาะปัญหาในหมวดที่ 3 โดยเท่าที่ทราบมีเพียง dataset ที่ชื่อ ELI5 (Explained like I am 5 - อ้างอิง 6) เท่านั้น ที่เจาะปัญหานี้โดยตรง สาเหตุที่มีนักวิจัยสนใจงานชนิดนี้น้อยเพราะ (ก) ไม่มีวิธีวัดผลที่ดีและเร็วในปัจจุบัน (ข) datasets มาตรฐานน้อย และ (ค) ยังแก้ปัญหาในหมวดที่ 2 และ 3ได้ไม่ดีพอ ซึ่งควรต้องทำให้ได้ก่อนที่จะมาเน้นชนิดที่ 4</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="f4u23-0-0"><div class="_1mf _1mj" data-offset-key="f4u23-0-0"><span data-offset-key="f4u23-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2fc6l-0-0"><div class="_1mf _1mj" data-offset-key="2fc6l-0-0"><span data-offset-key="2fc6l-0-0">ซึ่งอย่างที่ได้เล่าในบทความตอนที่แล้วครับว่า ถ้าเราอยากจะสร้างโมเดล AI ที่เก่งกาจระดับ Jarvis ในหนัง Ironman ได้จริงๆ เราต้องสร้างโมเดลที่ตอบโจทย์ปัญหาในหมวดที่ 4 ได้อย่างสมบูรณ์แบบครับ</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="4r12r-0-0"><div class="_1mf _1mj" data-offset-key="4r12r-0-0"><span data-offset-key="4r12r-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="dd2ep-0-0"><div class="_1mf _1mj" data-offset-key="dd2ep-0-0"><span data-offset-key="dd2ep-0-0">.</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="utqf-0-0"><div class="_1mf _1mj" data-offset-key="utqf-0-0"><span data-offset-key="utqf-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="944iq-0-0"><div class="_1mf _1mj" data-offset-key="944iq-0-0"><span data-offset-key="944iq-0-0">เนื่องจากการตอบคำถามในหมวดที่ 3 และ 4 (Open Domain) นั้นโมเดลจำเป็นต้องมีความรู้ หรือเข้าถึงความรู้ภายนอกได้ สำหรับบทความหน้าเราจะมาดูกันว่า "ความรู้" เหล่านี้โมเดลต่างๆ เก็บหรือเข้าถึงได้อย่างไรครับ</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="f8o5q-0-0"><div class="_1mf _1mj" data-offset-key="f8o5q-0-0"><span data-offset-key="f8o5q-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="c05qm-0-0"><div class="_1mf _1mj" data-offset-key="c05qm-0-0"><span data-offset-key="c05qm-0-0"> </span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2n0rh-0-0"><div class="_1mf _1mj" data-offset-key="2n0rh-0-0"><span style="text-decoration: underline"><strong>อ้างอิง </strong></span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="c3a4g-0-0"><div class="_1mf _1mj" data-offset-key="c3a4g-0-0"><span data-offset-key="c3a4g-0-0"> 1. Microsoft's Diablo GPT(2019) -https://github.com/microsoft/DialoGPT</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="3b8p1-0-0"><div class="_1mf _1mj" data-offset-key="3b8p1-0-0"><span data-offset-key="3b8p1-0-0"> 2. Facebook's BlenderBot (2020) - https://ai.facebook.com/blog/state-of-the-art-open-source-chatbot/</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="9jbd0-0-0"><div class="_1mf _1mj" data-offset-key="9jbd0-0-0"><span data-offset-key="9jbd0-0-0"> 3. ตัวอย่างบทสนทนากับ GPT-3 โดยถามเจ้า AI เกี่ยวกับเรื่อง AI เอง - https://medium.com/@kirkouimet/turing-test-2669daffae38</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="b7f3c-0-0"><div class="_1mf _1mj" data-offset-key="b7f3c-0-0"><span data-offset-key="b7f3c-0-0"> 4. Google Natural Question Leaderboard - https://ai.google.com/research/NaturalQuestions/leaderboard</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="2rsbk-0-0"><div class="_1mf _1mj" data-offset-key="2rsbk-0-0"><span data-offset-key="2rsbk-0-0"> 5. https://huggingface.co/transformers/model_doc/rag</span></div></div><div class="" data-block="true" data-editor="cr9cp" data-offset-key="a97n8-0-0"><div class="_1mf _1mj" data-offset-key="a97n8-0-0"><span data-offset-key="a97n8-0-0"> 6. https://github.com/facebookresearch/ELI5</span></div></div>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-393</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-377</link>
                        <pubDate>Wed, 26 Aug 2020 12:42:27 +0000</pubDate>
                        <description><![CDATA[&quot;การเขียน&quot; บททดสอบที่แท้จริงของ AI ที่มีความรู้แท้จริงDeep Language &amp; Knowledge Understanding Series ตอนที่ 3 สู่การสร้าง JarvisThaiKeras and Kaggle  26 สค. 2563credit ภาพ Lego &quot;Jarvis! ...]]></description>
                        <content:encoded><![CDATA[<p><span style="text-decoration: underline"><span style="font-size: 18pt"><strong>"</strong><strong>การเขียน</strong><strong>"</strong><strong> บททดสอบที่แท้จริงของ </strong><strong>AI </strong><strong>ที่มีความรู้แท้จริง<br /></strong></span></span><span style="text-decoration: underline"><span style="font-size: 18pt"><strong>Deep Language &amp; Knowledge Understanding Series </strong><strong>ตอนที่ 3</strong> <strong>สู่การสร้าง </strong><strong>Jarvis</strong></span></span></p><p><em>ThaiKeras and Kaggle  </em><em>2</em><em>6 </em><em>สค. </em><em>2563</em></p><p><img src="https://i.ibb.co/L0vgb6M/jarvis.jpg" /></p><p><em>credit ภาพ Lego "Jarvis! , keep the skies clear!" : <a class="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl py34i1dx gpro0wi8" role="link" href="https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.flickr.com%2Fphotos%2Fstickkim%2F7138752455%3Ffbclid%3DIwAR2J5mBNkuble58SVxRwvNw_I9ThKkVaXIXEFm_j0FKc6Z2tatHC6bRT6aA&amp;h=AT3gGQh4tXN5EnkZjcWkCjcJkA4lERZe5xOJJ_yGAyMAL6rLmHEVxjfCZFXf5C7-oDpXw-lANUk8mcY-sMhzaceokw5l_EnHb5rkuEmp3YN_BMSYx9-2msBFE0PzRghZ3NqlimuMXqpPrW9GYbQM&amp;__tn__=-UK-R&amp;c=AT3F7yRse_Yt4ca-KNhDkQkBOb-CCIZMq687WkR-lSm-Uzs1Kffb7Lwn7GPgIKO-mc3rF3dJxv1StxtL3RO6G-0j6tSqc1Y43XxPZqfu41QI1aGHPYRzVZqATRnV4XB9EhgBC6Rm0J4MNZNhEVhngwM0sKsjttqMwkOIlvB9f5aF-fmrFtsApQrMfBC41Q" target="_blank" rel="nofollow noopener">https://www.flickr.com/photos/stickkim/7138752455</a> อนุญาตให้ใช้ด้วยสิทธิ CC By-ND 2.0</em></p><p> </p><p>สวัสดีครับเพื่อนๆ ในตอนที่แล้วของ series นี้เราได้เล่าถึง "บททดสอบ" ที่หินที่สุดสำหรับ AI ในแง่ของ "การอ่าน" ในความรู้หลากหลายด้าน นั่นคือบททดสอบที่เรียกว่า SuperGLUE  (อ่านย้อนหลังทั้งหมดได้ที่นี่ <a href="https://bit.ly/thaikeras-understanding-nlp">https://bit.ly/thaikeras-understanding-nlp</a> ) โดยบททดสอบในกลุ่มนี้จะเน้นเรื่อง "การอ่าน แล้ว เลือกคำตอบที่ถูกที่สุด" นั่นคือ มีตัวเลือกคำตอบมาให้เหมือนข้อสอบกากบาทในโรงเรียนบ้านเรานั่นเอง</p><p>อย่างไรก็ตาม  แม้แต่บททดสอบที่หินที่สุดนี้ โมเดล AI ที่ชื่อว่า T5 นั้นทำแบบทดสอบได้ใกล้เคียงมนุษย์ และโมเดลอื่นๆ ก็ทำแบบทดสอบได้คะแนนต่ำกว่ามนุษย์เพียงราวๆ 10% เท่านั้น เรียกได้ว่าความสามารถในแง่ของ "อ่านแล้วเลือกคำตอบ" นั้น AI ถือว่าใกล้เคียงมนุษย์แล้วครับ</p><p>ดังนั้นในปัจจุบัน นักวิจัยจึงเปลี่ยนมุมมองเริ่มมาทดสอบ AI ด้าน "การเขียน" (ส่วนใหญ่จะเป็น "อ่านแล้วเขียน") มากขึ้น ซึ่งถือได้ว่าเป็นบททดสอบที่ต้องใช้ความฉลาดมากกว่าการ อ่านแล้ว "เลือกคำตอบ" </p><p>เปรียบเทียบให้เห็นภาพง่ายๆ การอ่านแล้วเลือกคำตอบ "ที่ถูกที่สุด" จากตัวเลือก A, B, C และ D  มีเพียง 4 ตัวเลือกให้โมเดลตัดสินใจในแต่ละคำถามเท่านั้น  … นั่นคือ output ของโมเดลนั้นเรียบง่ายมีเพียง 1 ตัวแปร และตัวแปรเดียวนี้เป็นไปได้เพียง 4 ค่า โมเดลเพียงเลือก 1 ใน 4 เท่านั้น</p><p> ในขณะที่การเขียนสัก 1 ย่อหน้า ขอยกตัวเลขง่ายๆ แต่ละย่อหน้าอาจประกอบไปด้วยประโยค 10 ประโยค แต่ละประโยคมี 10 คำ ทำให้โมเดลต้อง output 100 ตัวแปร โดยแต่ละตัวแปรคือ 1 คำ … นอกจากนั้นในตัวแปรคำแต่ละคำนั้นยังมีค่าที่เป็นไปได้คือ "คำศัพท์" ทั้งหมด โดยมาตรฐานของคำศัพท์ในโมเดล AI ปัจจุบันอยู่ที่ 30,000-50,000 คำศัพท์</p><p>ดังนั้นโมเดลต้องมีความสามารถที่จะ output 100 ตัวแปร โดยแต่ละตัวแปรนั้นมีค่าได้ถึง 50,000 ค่า … ซึ่งรวมทั้งหมดแล้ว โมเดลต้องเลือกตอบ 1 ประโยคจากประโยคที่เป็นไปได้ถึง 50,000^100 ซึ่งมหาศาลมากๆ และยากกว่าการเลือกตอบเพียง 1 ใน 4 อย่างเทียบกันไม่ได้</p><p> </p><p>.</p><p><span style="text-decoration: underline"><strong>จะเขียนให้ดี ต้องสร้างประโยคอย่างไรบ้าง</strong></span></p><p>ในบรรดา 50,000^100 ประโยคที่เป็นไปได้นั้น ประโยคที่โมเดลเขียนหรือเลือกขึ้นมาต้องมีคุณสมบัติต่างๆ มากมาย อาทิเช่น</p><p>ก) เขียนได้ถูกต้องตามหลักไวยากรณ์</p><p>ข) ประโยคมีความหมาย โดยประโยคเช่น The colorless green feels sleepy นั้นถูกไวยากรณ์แต่ไม่มีความหมาย</p><p>ค) ความหมายของประโยคต้องสอดคล้องกับประโยคก่อนหน้า</p><p>ง) ความหมายของข้อความทั้งหมดโดยรวมต้องสอดคล้องกับคำถาม หรือสอดคล้องกับโจทย์</p><p>จ) ตกผลึกความรู้ เรื่องราว เชื่อมโยงความรู้ สร้างประโยคที่นอกจากจะสอดคล้องและมีความหมายแล้ว ยังแสดงถึงความรู้จริง และความฉลาดในการตอบปัญหาหรือโจทย์ที่กำหนดด้วย</p><p> </p><p>จริงๆ แล้ว ไม่ต้องพูดถึงประเด็น จ) ซึ่งเป็นประเด็นที่ยากที่สุด แม้แต่ประเด็น ก) ข) ค) และ ง) นั้นนับว่ายากมากๆ โดยก่อนหน้าที่จะมีการคิดค้นโมเดล Transformers ได้นั้น แค่การพูดให้ถูกและรู้เรื่องตาม ก) และ ข) นั้นแทบจะเป็นไปไม่ได้เลยทีเดียวครับ</p><p>อย่างไรก็ดีโมเดล Transformers เช่น GPT-2 ที่ฝึกสอนบนข้อมูลปริมาณมหาศาลนั้น สามารถสร้างประโยคที่ผ่านเงื่อนไข ก) ข) ค) ได้อย่างน่าอัศจรรย์ รวมทั้งประเด็น ง) บางส่วน และเหลือเพียงประเด็น จ) เท่านั้นที่ยังเป็นปัญหาที่แก้ไม่ตก</p><p>ประเด็นสุดท้าย จ) เป็นประเด็นที่ท้าทายมากที่สุด เพราะเวลาเจอคำถามที่ต้องใช้ความรู้จริงๆ โมเดลอาจจะตอบเพียง "I don't know" หรือเลี่ยงคำถามไปตอบอย่างอื่น เช่น ถ้าเจอคำถามเกี่ยวกับเรื่องยากๆ โมเดลอาจจะตอบเพียงว่า "This is very interesting, and I really think it's cool!"   ดูรายละเอียดเพิ่มเติม ใน "การทดลองทางจินตนาการเรื่องปลาหมึกอัจฉริยะ" ที่เราได้กล่าวในตอนที่ 2 ของ series นี้ครับ</p><p>โดยโมเดล GPT-3 ซึ่งเพิ่งเผยแพร่ในเดือน มิ.ย. 2020 และยังไม่ได้เปิดให้คนทั่วไปใช้งานจริงจัง อาจเป็นโมเดลแรกที่เริ่มทำโจทย์ จ) ได้ดีในระดับนึง ซึ่งต้องอดใจรอการใช้งานอย่างละเอียดกันต่อไปครับ</p><p>.</p><p> </p><p><span style="text-decoration: underline"><strong>บททดสอบเกี่ยวกับ "การเขียน" มีอะไรบ้าง</strong></span></p><p>ดูจากงานวิจัยในปัจจุบันนั้น จะมีงานด้านการเขียนอยู่ 5 ประเภทที่นักวิจัยศึกษากันอย่างจริงจัง และมีความคืบหน้ามาก ดังนี้ครับ</p><ol><li>การแปลภาษา (Translation)</li><li>การย่อความ (Summarization)</li><li>การแต่งเรื่องราว (Story Generation)</li><li>Chatbot (Dialogue Generation)</li><li>ถามตอบแบบไม่มีตัวเลือก (Free-form Question Answering)</li></ol><p>ถึงแม้นปัญหาเหล่านี้อาจจะดูแล้วยากในระดับเดียวกันหมด แต่สองปัญหาแรกนั้น ดูมีความคืบหน้ามากกว่าอีก 3 โจทย์ที่เหลือ</p><p>ทั้งนี้เนื่องจากตามนิยามของปัญหา "แปลภาษา" และ "ย่อความ" นั้นประโยค output จะมีลักษณะ "สั้น" (short-form) และ "ไม่ต้องใช้ความรู้ภายนอก" (closed-domain) ในขณะที่อีก 3 โจทย์ที่เหลืออาจจะยาวมาก และจำเป็นต้องใช้ความรู้ภายนอกที่ไม่มีอยู่ใน input</p><p>มาดู 2 โจทย์แรกกันอย่างย่อๆ ครับ</p><p><span style="text-decoration: underline">** 1) โจทย์แปลภาษา **</span></p><p>โดยปัญหาแปลภาษา จากภาษาที่ 1 ไปภาษาที่ 2 นั้น เป็นปัญหาที่เราคุ้นเคยกันดี โมเดลไม่ต้องสร้างประโยค output อะไรที่ซับซ้อนมากนัก นอกจากเงื่อนไขที่ว่า "ประโยคภาษาที่ 1" ต้องมีความหมายเช่นเดียวกับ "ประโยคภาษาที่้ 2" ซึ่งสังเกตได้ว่าถ้าไม่เน้นความสละสลวยทางภาษา เราสามารถแปลเป็นประโยคทีละประโยคได้  รวมทั้งโมเดลไม่จำเป็นต้องคิดค้นความรู้อะไรใหม่ๆ ขึ้นมาเอง นอกจากความหมายที่อยู่ใน input คือประโยคภาษาที่ 1 เรียบร้อยแล้ว</p><p>โดยทั่วไปถ้าภาษาที่ 1 และภาษาที่ 2 นั้นเป็นภาษายอดนิยม โมเดลนั้นมักจะทำผลงานได้ดีเนื่องจากโมเดลสามารถใช้เทคนิก Unsupervised learning หรือ Self-supervised learning เพื่อให้มีความเชี่ยวชาญในแต่ละภาษาก่อนที่จะมาเรียนเรื่องแปลภาษาได้ และยิ่งถ้าภาษาที่ 1 และภาษาที่ 2 มีความใกล้เคียงกัน เช่น อังกฤษ เยอรมัน ฝรั่งเศสหรือสเปน การแปลภาษาก็จะง่ายขึ้นมาอีกขั้นครับ</p><p>ส่วนภาษาที่ใช้กันไม่แพร่หลายมาก และก็มีความแตกต่างจากภาษาหลักอื่นๆ พอควร เช่นภาษาไทย ความแม่นยำในการแปลภาษาก็จะน้อยลงไปครับ</p><p>สำหรับผู้ที่สนใจข้อมูลฝึกสอนเพื่อแปลภาษาคู่อังกฤษและไทยสามารถดูรายละเอียดเพิ่มเติมได้จากบทความนี้ <a href="http://bit.ly/medium-mt-enth">http://bit.ly/medium-mt-enth</a>  ซึ่งเป็นผลงานอันยอดเยี่ยมของเพื่อนๆ ทีมนักวิจัยบ้านเราครับผม :D</p><p> </p><p><span style="text-decoration: underline">**2) โจทย์ย่อความ **</span></p><p>การย่อความนั้นคือการ สร้าง "Output = ย่อหน้าสั้นๆ" จาก "Input  = ข้อความยาวๆ" (อาจจะหลายย่อหน้า) โดยมีความง่ายคล้ายการแปลภาษาที่ไม่ต้องใช้ความรู้ภายนอกมากนัก เพราะเนื้อหาหลักๆ จะอยู่ใน Input เรียบร้อยแล้ว และด้วยนิยามของ "การย่อความ" นั่นคือ ประโยค Output ก็จะไม่ยาวมากนัก</p><p>การย่อความหรือ Summarization นั้นจะมี 2 แบบหลักๆ คือ</p><p>2.1) Extractive Summarization คือการย่อความ โดยการตัดเฉพาะประโยคที่สำคัญๆ จากบทความต้นฉบับมา ไม่ต้องสร้างประโยคใหม่เอง</p><p>2.2) Abstractive Summarization คือการย่อความ โดยการเขียนประโยคใหม่</p><p>งาน 2.1) ด้าน Extractive นั้นถือว่าไม่ท้าทายมากนักในปัจจุบัน ส่วนงาน 2.2) ด้าน Abstractive นั้น</p><p>Dataset ทดสอบมาตรฐานสำหรับฝึกสอนโมเดลให้ย่อความเป็นคือ CNN-Dailymails ซึ่งเป็น datasets ที่กำหนดให้สรุปใจความสำคัญของ "ข่าวประจำวัน" เช่นจาก CNN  (ดูรายละเอียดได้ที่นี่ <a href="https://huggingface.co/nlp/viewer/?dataset=cnn_dailymail&amp;config=3.0.0">https://huggingface.co/nlp/viewer/?dataset=cnn_dailymail&amp;config=3.0.0</a> ) </p><p> </p><p>โดยโมเดล T5 ที่ทำบททดสอบสุดหินด้านการอ่านคือ SuperGLUE ที่เรากล่าวถึงในบทความก่อน ก็สามารถย่อความได้ในตัวด้วยครับ เรียกว่าเป็นโมเดลสารพัดประโยชน์เลยทีเดียว</p><p>โมเดลจะย่อความประเภทใดได้เก่ง ก็ขึ้นอยู่กับข้อมูลสอนโดยโมเดลที่ถูกฝึกสอนด้วยข้อมูล CNN-Dailymails นี้ก็จะย่อข่าวได้เก่ง แต่อาจจะย่อเนื้อหาประเภทอื่น เช่น บทความทางวิทยาศาสตร์ ได้ไม่ดีมากครับ  โดยถ้าต้องการย่อความด้านวิทยาศาสตร์ได้เก่งก็จำเป็นต้องหา dataset ชุดใหม่ๆ มาสอน เช่น <a href="https://cs.stanford.edu/~myasu/projects/scisumm_net/">https://cs.stanford.edu/~myasu/projects/scisumm_net/</a> ที่เพิ่งเผยแพร่ในปี 2019 ที่ผ่านมานี่เอง</p><p> </p><p>.</p><p><span style="text-decoration: underline">**3) -5) ปัญหาระดับการสร้าง Jarvis ให้เป็นจริง **</span></p><p>โจทย์ 3) - 5) นั้น โดยเนื้อแท้อาจเรียกได้ว่าเป็นปัญหาระดับ Turing Test คือมีความสำคัญมากๆ ต่อวงการ AI และเทคโนโลยีของมนุษย์เรา และถ้าทำได้ดี อาจเรียกได้ว่าเป็นบันไดไปสู่ AGI หรือ "ปัญญาประดิษฐ์" ที่แท้จริงของโลกที่ทำงานได้หลากหลาย ไม่ใช่แค่เก่งด้านใดด้านหนึ่ง</p><p>โจทย์ 3)-5) นั้นจริงๆ แล้ว ขอบเขตกว้างมาก และถ้าแก้ปัญหาใดปัญหาหนึ่งได้ ก็จะทำให้แก้ปัญหาอื่นๆ ได้ด้วย ยกตัวอย่างเช่น โจทย์ที่ 3) หรือการแต่งเรื่องนั้น ถ้าทำได้จริง เราก็จะแก้โจทย์ที่ 1) 2) 4) และ โจทย์ที่ 5) ได้ด้วย</p><p>เช่น เราสามารถสั่งให้ AI แต่งเรื่องนิยายที่ีมีการ พูดคุยกันในเรื่องตลอดเวลาก็แสดงว่าโมเดลเองก็ต้องทำโจทย์ที่ 4) คือ ChatBot ได้ด้วย และถ้าเป็นนิยายที่เน้นถาม-ตอบปัญหาวิทยาศาสตร์ในเนื้อเรื่องก็จะแก้โจทย์ที่ 5) ได้ด้วยในตัวครับ</p><p>การถาม-ตอบในโจทย์ที่ 5) ก็ครอบคลุมโจทย์อื่นๆ เช่น ถ้าถามว่า "เนื้อเรื่องย่อของบทความนี้เป็นอย่างไร ?" โมเดลที่ตอบได้ถูกต้อง ก็จะจะสามารถทำโจทย์ที่ 1) ได้ หรือถ้าถามว่า "ประโยคนี้ จะแปลเป็นภาษาที่ 2 ได้อย่างไร ?" โมเดลก็จะแก้โจทย์ที่ 2) ได้ด้วย เป็นต้นครับ</p><p>นั่นคือถ้าเราแก้โจทย์ที่ 3) -5) ได้ เราก็จะแก้โจทย์อื่นๆ ที่เหลือได้นั่นเอง … เชื่อว่าหลายๆ คนคงเป็นแฟนหนัง The Avengers ซึ่งในเรื่องนั้นมีคอมพิวเตอร์อัจฉริยะ Jarvis ซึ่งมีความรู้ความสามารถที่จะตอบคำถามและให้คำปรึกษาด้านต่างๆ กับ Iron Man  ซึ่ง Jarvis เองต้องมีความสามารถที่จะผ่านบททดสอบ 1) - 5) ได้อย่างสมบูรณ์แบบครับ</p><p>เพื่อนๆ คงเห็นแล้วว่า โดยเทคโนโลยีระดับสร้าง Jarvis นั้นมีกุญแจสำคัญอยู่ที่การแต่งประโยคโดยใช้ความรู้ ดังที่เล่าในบทความนี้ครับ … แล้วพบกันใหม่ในบทความหน้าครับผม :)</p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-377</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language &amp; Knowledge Understanding Series : เจาะลึกความสามารถด้าน &quot;ภาษา&quot; และ &quot;ความรู้&quot; ของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-375</link>
                        <pubDate>Sun, 16 Aug 2020 13:17:23 +0000</pubDate>
                        <description><![CDATA[รู้จัก &quot;บททดสอบ&quot; และความเป็นมาของเหล่า &quot;ผู้ท้าชิง&quot; AI ที่ฉลาดที่สุดในปี 2020Deep Language &amp; Knowledge Understanding Series ตอนพิเศษ A ThaiKeras and Kaggle  16 สค. 2563 สวัสดีครับเพื่อนๆ ...]]></description>
                        <content:encoded><![CDATA[<p><span style="text-decoration: underline"><span style="font-size: 18pt"><strong>รู้จัก "บททดสอบ" และความเป็นมาของเหล่า "ผู้ท้าชิง" AI ที่ฉลาดที่สุดในปี 2020</strong><br /><strong>Deep Language &amp; Knowledge Understanding Series ตอนพิเศษ A</strong> </span></span></p><p><em>ThaiKeras and Kaggle  </em><em>1</em><em>6 </em><em>สค. </em><em>2563</em></p><p> </p><p>สวัสดีครับเพื่อนๆ ตอนนี้ทีมงาน ThaiKeras กำลังออกแบบและเขียน Workshop ภาคปฏิบัติ "มือใหม่ หัดใช้ Keras" บน TF2.0 อยู่ และใช้เวลานานกว่าที่คิด ทำให้เขียนเสร็จไม่ทันสัปดาห์นี้  สัปดาห์นี้เลยขอทักทายเพื่อนๆ ด้วยบทความภาคพิเศษในชุดบทความ "Deep Language &amp; Knowledge Understanding" แทนครับ</p><p>โดยบทความตอนพิเศษนี้จะแนะนำบททดสอบมาตรฐาน ที่ใชัวัดความฉลาดของสุดยอดโมเดล AI ด้านภาษาในปัจจุบัน ปี 2020</p><p>เท้าความกันซะหน่อยว่าใน series นี้ (อ่าน 3 ตอนก่อนหน้าได้ที่นี่ <a href="https://bit.ly/thaikeras-understanding-nlp">https://bit.ly/thaikeras-understanding-nlp</a>) เรามีจุดประสงค์ที่จะเจาะลึกโมเดล AI ที่ดีที่สุดในปี 2020  ว่ามี "ความรู้" เทียบกับมนุษย์ได้ในมุมไหนหรือไม่ </p><p>โดยในบทความชุดนี้เราเน้นเฉพาะ "ความรู้" ที่มี "ภาษา" เป็นสื่อกลางเท่านั้น ไม่นับรวมความรู้ที่ต้องอาศัยประสาทสัมผัสอื่นๆ เช่นการมองเห็น เสียง หรือกลิ่น  หรือการเล่นเกมส์ต่างๆ ที่ AI รับ input โดยตรงได้โดยไม่ต้องผ่านสื่อกลาง</p><p>.</p><p> </p><p><span style="text-decoration: underline"><strong>การทดสอบความรู้ที่ต้องใช้ภาษาเป็นตัวกลางด้านต่างๆ ในปัจจุบัน</strong></span></p><p>โดยการทดสอบ "ความรู้ผ่านภาษา" นี้อาจจะแยกได้สองด้านหลักๆ คือ "ด้านการอ่าน" และ "ด้านการเขียน" ด้านการเขียนวัดได้ยากกว่ามากและยังไม่มีมาตรฐานที่ชัดเจนดังเช่นการอ่าน จึงจะขอกล่าวถึงในโอกาสถัดไป ส่วนใหญ่ในงานวิจัยปัจจุบัน ทีมวิจัยทั่วโลกได้นำเสนอการวัดความรู้ผ่าน "การอ่าน" ซึ่งก็ยังแยกย่อยได้หลายประเภทด้วยกัน อาทิเช่น</p><ul><li>ทดสอบเรื่อง "ไวยากรณ์ภาษา"  ว่ารู้จักรูปประโยคที่ถูกหลักไวยากรณ์หรือไม่  รู้จักสองประโยคที่มีความหมายคล้ายกันหรือความหมายเดียวกัน (Paraphrase) หรือไม่</li></ul><p> </p><ul><li>ทดสอบความเข้าใจ "ความหมาย" เช่นแยกแยะประโยคว่าเป็นประโยคที่มีแสดงความพอใจ หรือไม่พอใจ (Sentiment Analysis) หรือประโยคหยาบคาย กล่าวโทษ (Toxic Detection)</li></ul><p> </p><ul><li>ทดสอบความเข้าใจด้านตรรกะ ตัดสิน 2 ประโยคที่กำหนดได้ว่าเชื่อมโยงกัน ขัดแย้งกัน หรือไม่เกี่ยวข้องกัน (ดูบทความ Hans ในตอนที่ 0 ของ Series นี้)</li></ul><p> </p><ul><li>ทดสอบเรื่องความเข้าใจ "เรื่องราว" เบื้องต้น เช่น กำหนดเนื้อเรื่อง 1 ย่อหน้าและคำถามมา แล้วให้ AI เลือก "คำตอบที่ถูกต้อง" จากตัวเลือก A, B, C และ D (เหมือนการทำข้อสอบภาษาอังกฤษบ้านเรา)</li></ul><p> </p><ul><li>ทดสอบความรู้ทั่วไป "ความจริงเกี่ยวกับโลก" (Knowledge &amp; Commonsense) ทุกเรื่องที่เป็นความรู้พื้นฐานที่คนทั่วไปหรือกระทั่งเด็กประถมทราบ อาทิเช่น รู้ว่าประเทศต่างๆ มีมีสถานที่สำคัญอะไรบ้าง บุคคลสำคัญของโลก รู้ว่าพระอาทิตย์ขึ้นทางทิศตะวันออก ตกทางตะวันตก ไก่มักขันตอนเช้า เป็นต้น</li></ul><p> </p><ul><li>ทดสอบความรู้ด้าน "วิทยาศาสตร์" ผ่านการอ่าน เช่นเดียวกับทดสอบความเข้าใจเรื่องราวด้านบน แต่เน้นคำถามด้านวิทยาศาสตร์ (ในระดับมัธยม) แทนที่จะเป็นเรื่องทั่วไป (ดูบทความ Aristo ในตอนที่ 1 ของ Series) เช่น เลือกคำตอบที่อธิบายปรากฏการณ์ "สังเคราะห์แสง" ได้ทีที่สุด หรือคำตอบใดอธิบาย "ปรากฏการณ์ไดโนเสาร์สูญพันธุ์" ที่ได้รับการยอมรับมากที่สุด เป็นต้น</li></ul><p> </p><p>.</p><p> </p><p><span style="text-decoration: underline"><strong>ประวัติย่อของบททดสอบสุดหิน!! รู้จัก GLUE, SuperGLUE และ อื่นๆ</strong></span></p><p> </p><p><span style="text-decoration: underline">**ปี 2018 - GLUE vs. BERT **</span></p><p>จากหัวข้อข้างบน จะเห็นว่าเนื่องจากการทดสอบที่หลายทีมทั่วโลกเสนอนั้นมีหลากหลายเหลือเกิน ในกลางปี 2018 (ดูอ้างอิง 1) ทีมวิจัยจากมหาวิทยาลัยนิวยอร์กร่วมกับ DeepMind จึงได้มีความคิดที่ว่า "โมเดลที่เก่งจริงต้องทำได้ทุกโจทย์พร้อมกัน" จึงได้ร่วมกันเสนอสุดยอด Dataset ที่ชื่อว่า GLUE (General Language Understanding Evaluation) ขึ้นมาซึ่งจริงๆ ก็คือการคัดเลือก Dataset ทางภาษาที่หลากหลาย 9 ชนิดไว้ด้วยกัน และใช้ค่าเฉลี่ยความแม่นยำของ 9 datasets นั้นขึ้นมาตัววัดความฉลาดที่เรียกว่า "GLUE Benchmark"</p><p> </p><p>โดยทีม GLUE ได้รายงานว่า "มนุษย์" นั้นยังมีความแม่นยำกว่าโมเดลที่ดีที่สุด (ในขณะนั้นคือต้นปี 2018) อยู่ราว 20%++ เพื่อนๆ สามารถดูรายละเอียดของ 9 บททดสอบใน GLUE รวมทั้งคะแนนของโมเดลที่ดีสุดบน GLUE ในปัจจุบันได้ที่นี่ครับ <a href="https://gluebenchmark.com/leaderboard">https://gluebenchmark.com/</a></p><p> </p><p>อย่างไรก็ดี GLUE นั้นตีพิมพ์ครั้งแรกในปี 2018 ซึ่งแปลว่าทีมงานได้ลงมือทำจริงในปี 2017</p><p> </p><p>ซึ่งในปี 2017 นั้นโมเดล Transformers (อ้างอิง 2) จาก Google ซึ่งเป็นโมเดลมหัศจรรย์ที่ทำลายสถิติของ "งานด้านแปลภาษา" (ไม่อยู่ใน GLUE) เพิ่งได้ตีพิมพ์เช่นเดียวกัน ทำให้ "โมเดลที่ดีที่สุด" ในมาตรฐานของ GLUE ยังไม่นับรวมโมเดลกลุ่ม transformers</p><p> </p><p>นอกจากนี้ GLUE นั้นยังเน้นเพียงบททดสอบในแง่ของ "ภาษา" เป็นหลัก ยังไม่มีบททดสอบในแง่ "ความรู้" อื่นๆ เช่นความรู้วิทยาศาสตร์หรือความรู้ทั่วไป เนื่องจากในปีนั้น Dataset ทางวิทยาศาสตร์ซึ่งส่วนใหญ๋มาจากทีม AI2 (ดูบทความใน Series นี้ตอนที่ 1) ยังไม่ถูกเผยแพร่นั่นเอง</p><p> </p><p>ชะตากรรมความขลังของ GLUE เริ่มสั่นคลอน ในปลายปี 2018 เพียง 6 เดือนหลังจากที่งานวิจัย GLUE ตีพิมพ์ ทีมวิจัยจาก Google ก็ได้ดัดแปลง Transformers จากงานแปลภาษา (ที่ต้องอ่านและเขียน) ให้มาเจาะลึกด้านการอ่านอย่างเดียว นั่นก็คือกำเนิดงานระบือโลกอีกงานที่ชื่อว่า BERT (อ้างอิง 3) นั่นเอง และ BERT นี้ก็มีความแม่นยำน้อยกว่ามาตรฐานมนุษย์ของ GLUE เพียง 10% เท่านั้น!</p><p> </p><p><span style="text-decoration: underline">**ปี 2019 - RoBERTa vs. SuperGLUE ---&gt; T5 **</span></p><p>ในปี 2019 ในที่สุดมาตรฐานมนุษย์ใน GLUE ถูกทำลายเพียง 1 ปีเศษหลังจากที่งานวิจัย GLUE ตีพิมพ์ โดยโมเดลที่ทำลายสถิติมนุษย์ได้นั้น ก็ไม่ใช่ใครที่ไหน แต่เป็น BERT ที่ปรับโฉมใหม่โดยทีมงาน Facebook AI ที่ปรับโฉม BERT ด้วยการใส่ข้อมูลฝึกสอนมากกว่า BERT ดั้งเดิมราว 10 เท่า!! แล้วตั้งชื่อใหม่ว่า RoBERTa !! (อ้างอิง 4)</p><p> </p><p>และในปี 2019 นี้เอง หลังจาก RoBERTa ตีพิมพ์ ทีมวิจัยอื่นๆ ทั่วโลกต่างๆ ก็นำ BERT มาดัดแปลง และเพิ่มข้อมูลสอน ทำให้มีโมเดลที่แซงมาตรฐานมนุษย์ของ GLUE ได้เต็มไปหมด และก็ทำให้กลายเป็นข่าวดัง (อีกเช่นเคย) ไปทั่วโลกว่า "AI ฉลาดกว่ามนุษย์แล้ว" !!?</p><p> </p><p>นอกจากนี้ทีม Facebook AI ยังได้อัพเกรด RoBERTa ให้เข้าใจได้ 100 ภาษาทั่วโลกพร้อมกัน ดั่งที่เราเคยนำเสนอในบทความก่อนหน้าเรื่องตรวจจับภาษาพิษ 7 ภาษา (ลองอ่านย้อนหลังดูครับ)</p><p> </p><p>อย่างไรก็ดีทีม GLUE เองก็ไม่ยอมแพ้ ในเดือนกลางปี 2019 ซึ่งไล่เลี่ยกับที่งาน RoBerta ตีพิมพ์  ทีม GLUE ได้โละ 7 บททดสอบเดิมของ GLUE ดั้งเดิมทิ้ง (โดยกล่าวว่าง่ายเกินไป) เหลือเพียง 2 บททดสอบเก่าที่หินที่สุด แล้วใส่บททดสอบใหม่ๆ ที่ยากที่สุด (ที่เพิ่งถูกนำเสนอในช่วงปี 2018-2019) เข้าไปอีก 8 ชิ้นและได้ตั้งชื่อ GLUE โฉมใหม่นี้ว่า "SuperGLUE" !!</p><p>(อ้างอิง 5) ซึ่งในบททดสอบใหม่สุดหินนี้ รวมการวัดความรู้ทางวิทยาศาสตร์ และความรู้ทั่วไปเข้าไปด้วย ทำให้ยากขึ้นมาก</p><p> </p><p>ผู้อ่านสามารถเข้าไปดูรายละเอียดของ SuperGLUE ได้ที่นี่ครับ : <a href="https://super.gluebenchmark.com/tasks">https://super.gluebenchmark.com/tasks</a>  อ้อ หนึ่งในทีมของ SuperGLUE นั้นมีน้องนักวิจัยคนไทยซึ่งอยู่ในมหาวิทลัยนิวยอร์กอยู่ด้วยนะครับ :D</p><p> </p><p>อย่างไรก็ดีมาตรฐานมนุษย์ของ SuperGLUE นั้นก็อยู่เหนือกว่า RoBERTa เพียง 10% เท่านั้น</p><p> </p><p>มาถึงจุดนี้ผู้อ่านอาจพอเดาได้ไม่ยากว่าอีกไม่นานก็น่าจะมีโมเดลที่ขึ้นมาเทียบเท่ามนุษย์ได้ SuperGLUE ได้สำเร็จ</p><p> </p><p>และยังไม่ทันจบปี 2020 ในเดือนตุลาคมปี 2019 เพียง 5 เดือนหลังจากงาน SuperGLUE ทีม Google ก็ได้สร้างโมเดลใหม่ชื่อว่า "T5" ขึ้นมาโดย T5 นั้น เป็นโมเดลแรกที่ทำคะแนนใน SuperGLUE ได้เที่ยบเท่ามาตรฐานมนุษย์ จนถึงปัจจุบันนี้ (สิงหาคม 2020) ก็ยังเป็นเพียงโมเดลเดียวที่ทำได้ครับ</p><p> </p><p>โดย T5 ตัวเต็มนี้ได้กลับไปใช้สถาปัตยกรรมคล้าย Transformer รุ่นแรกคือมีทั้งอ่านและเขียน โดยฝึกสอนบนข้อมูลที่ใหญ่กว่า RoBERTa 5 เท่า และมีขนาดใหญ่กว่า RoBERTa 10 เท่า!!! นั่นคือมีขนาดโมเดลที่มีพารามิเตอร์ถึง 1.1 หมื่นล้านตัวแปร  และคนธรรมดาอย่างพวกเราไม่สามารถเทรนหรือใช้งานโมเดลนี้ได้ครับ (แต่ใช้ T5 ตัวย่อส่วนได้ครับ ซึ่งจะมีความสามารถลดลงมาพอควร)</p><p> </p><p>เนื่องจาก T5 นี้ถูกฝึกสอนมาทั้งอ่านและเขียน (ในทางเทคนิกเรียกว่า Encoder-Decoder)</p><p>ดังนั้นแม้นจะเก่งเรื่องการอ่านมากเป็นพิเศษ แต่ก็มีความสามารถด้านการเขียนอันเยี่ยมยอดอีกด้วยเช่นกัน โดย T5 ยังทำคะแนนด้านการ "ย่อความ" ได้ติดระดับท้อป (เรื่องการวัดผลด้านการเขียนรอขยายความในโอกาสถัดไปนะครับ)</p><p> </p><p><span style="text-decoration: underline">** อนาคตในปี 2020 - 202x **</span></p><p>จากบทเรียนเรื่อง GLUE และ SuperGLUE นั้นทำให้นักวิจัยหลายกลุ่มเริ่มมองตรงกันว่า "การอ่าน" เพียงอย่างเดียวไม่ท้าทายอีกต่อไป ทำให้เริ่มมีการมุ่งเน้นมายังปัญหาที่ยากขึ้น (แต่ก็วัดผลยากขึ้น) นั่นคือ</p><p> </p><p>"ปัญหาการเขียน" และ "ปัญหาการอ่านภาษาและทำความเข้าใจรูปภาพพร้อมกัน" (Vision-Language Problems) ซึ่งรอติดตามได้ในภาคถัดไปคร้าบ</p><p> </p><p> </p><p><span style="text-decoration: underline"><strong>ภาคผนวก: ดาวโหลดชุดข้อมูลมาตรฐานด้วย HuggingFace NLP</strong></span></p><p>ทีม HuggingFace ได้ทำให้การดาวโหลดข้อมูลมาตรฐานเหล่านี้เป็นเรื่องง่ายๆ โดยได้ทำ Library nlp ขึ้นมา เพื่อนๆ สามารถเรียกใช้งานง่ายๆ ดังนี้ หรือดูวิธีการโดยละเอียดได้ที่  <a href="https://huggingface.co/nlp/">https://huggingface.co/nlp/ </a>ครับ</p><p> </p><p></p><pre>!pip install nlp<br />from nlp import load_dataset<br />dataset = load_dataset('glue', 'mrpc', split='train')</pre><p></p><p> </p><p><strong><span style="text-decoration: underline">อ้างอิง</span></strong></p><ol><li>GLUE paper : <a href="https://arxiv.org/abs/1804.07461">https://arxiv.org/abs/1804.07461</a></li><li>Transformers: <a href="http://jalammar.github.io/illustrated-transformer/">http://jalammar.github.io/illustrated-transformer/ </a>และ <a href="https://thaikeras.com/2018/transfer-learning-nlp/">https://thaikeras.com/2018/transfer-learning-nlp/</a></li><li>BERT : <a href="https://arxiv.org/abs/1810.04805">https://arxiv.org/abs/1810.04805</a> / <a href="http://jalammar.github.io/illustrated-bert/">http://jalammar.github.io/illustrated-bert/</a></li><li>RoBERTa <a href="https://arxiv.org/abs/1907.11692">https://arxiv.org/abs/1907.11692</a></li><li>SuperGLUE : <a href="https://arxiv.org/abs/1905.00537">https://arxiv.org/abs/1905.00537</a></li><li>T5 : <a href="https://arxiv.org/abs/1910.10683">https://arxiv.org/abs/1910.10683</a></li></ol>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-375</guid>
                    </item>
				                    <item>
                        <title>RE: Deep Language Understanding Series - เจาะลึกความสามารถด้านภาษาของโมเดล AI ที่ดีที่สุด</title>
                        <link>https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-372</link>
                        <pubDate>Wed, 05 Aug 2020 04:42:31 +0000</pubDate>
                        <description><![CDATA[ถ้าถูกหมีไล่ล่า  AI จะช่วยเราได้หรือไม่ ?Deep Language Understanding Series ตอนที่ 2 AI ไม่มีทางเข้าใจภาษา!! (จริงหรือ?)ThaiKeras and Kaggle  5 สค. 2563ในตอนที่แล้ว เราว่ากันด้วยเรื่องของควา...]]></description>
                        <content:encoded><![CDATA[<p><span style="text-decoration: underline"><span style="font-size: 18pt"><strong>ถ้าถูกหมีไล่ล่า  </strong><strong>AI </strong><strong>จะช่วยเราได้หรือไม่</strong><strong> ?<br /></strong></span></span><span style="text-decoration: underline"><span style="font-size: 18pt"><strong>Deep Language Understanding Series </strong><strong>ตอนที่ </strong><strong>2 AI ไม่มีทางเข้าใจภาษา!! (จริงหรือ?)</strong></span></span></p><p><em>ThaiKeras and Kaggle  5 </em><em>สค. </em><em>2563</em></p><p>ในตอนที่แล้ว เราว่ากันด้วยเรื่องของความสำเร็จของ AI ที่สามารถทำข้อสอบระดับมัธยมได้อย่างยอดเยี่ยม ในตอนนี้เรามาดู "มุมมองเห็นต่าง" ของนักวิจัยด้านภาษาศาสตร์ 2 ท่านคือ Bender และ Koller จาก University of Washington ที่ฟันธงว่า</p><p>"ด้วยวิธีการขยายโมเดลให้ใหญ่ขึ้นเรื่อยๆ (Deep มากขึ้น เช่น Transformers, BERT, GPT-2) เช่นนี้ AI จะไม่มีทางเข้าใจภาษามนุษย์แน่นอน !!!!"</p><p>Bender และ Koller นักวิจัยทั้งสองท่านนี้ได้ตีพิมพ์ผลงานใน ACL 2020   โดย ACL ย่อมาจาก Association for Computational Linguistics  ซึ่งเป็นการรวมตัวของนักวิจัยด้าน NLP มาตรฐานสูงสุดและได้จัดขึ้นในเดือน กรกฎาคม ที่ผ่านมานี้เองในรูปแบบ Virtual ซึ่งมีข้อดีตรงที่เราสามารถชม Presentation ทั้งหมดย้อนหลังได้ (อนึ่ง ACL 2021 ในปีหน้ากำหนดจะจัดที่กรุงเทพเป็นครั้งแรก ถ้าไม่โดน COVID ทำให้ยกเลิกไปก่อนนะครับ)</p><p>ผมแอบเอาลิงก์ Video presentation ของงานนี้มาให้เพื่อนๆ ได้ลองชมครับ :D  <a href="https://slideslive.com/38929214/climbing-towards-nlu-on-meaning-form-and-understanding-in-the-age-of-data">https://slideslive.com/38929214/climbing-towards-nlu-on-meaning-form-and-understanding-in-the-age-of-data</a></p><p> </p><p><strong>ความเข้าใจคืออะไร</strong><strong> ?</strong></p><p>เล่าโดยสรุปงานนี้เคลมว่า เวลานักวิจัย AI ใช้คำว่า "understanding" หรือ "ความเข้าใจ" นั้นเป็นเพียงคำโฆษณา :) <br />โดย "ความเข้าใจ" ที่แท้จริงนั้นไม่ใช่เพียงจำรูปประโยคได้อย่างแม่นยำเท่านั้น ยังต้องสามารถ "เชื่อมโยง" (map) "คำต่างๆ" ไปยัง "สิ่งต่างๆ" ในโลกความเป็นจริงได้ด้วย</p><p>เช่น ถ้าเพื่อนเราพูดกับเราว่า "สิงโตดูน่ากลัวจัง" คนเราจะสามารถเชื่อมโยงคำว่า "สิงโต" ไปยัง สิงโตที่มีชีวิตอยู่จริงๆ ได้ ในขณะที่ AI (โมเดล NLP ที่ไม่ได้รวมส่วนของ Vision เข้ามาด้วย) จะทราบเพียงว่า</p><p>คำว่า "สิงโต" มักอยู่ใกล้กับคำว่า "น่ากลัว" (หรือคำที่ความหมายใกล้เคียง) เท่านั้น</p><p>โดยงานนี้ยกตัวอย่างความล้มเหลวของ Transformers ซึ่งเป็นโมเดล AI ที่ขึ้นชื่อว่าดีที่สุดในด้าน NLP ว่าเวลาเจอประโยคที่สลับลำดับของคำเล็กน้อย ที่เราได้ยกตัวอย่างในบทความเก่าของเรา <a href="http://bit.ly/thaikeras-hans-nlp2">http://bit.ly/thaikeras-hans-nlp2</a> และงานอื่นๆ ที่คล้ายกัน ว่าเป็นที่ทราบกันดีในวงการว่าโมเดลปัจจุบันนั้น sensitive และมักผิดพลาดง่ายๆ</p><p>งานนี้ย้ำว่า "interaction" หรือ การมีปฏิสัมพันธ์กับโลกจริง คือหัวใจของ "ความเข้าใจที่แท้จริง" เช่น เวลาแม่สอนเด็กทารกว่า "อย่าจับของร้อน" แต่ทารกไม่ระวังและไปจับ เด็กจะสามารถ "เชื่อมโยง" คำว่า "ของร้อน" กับ "สิ่งที่ร้อน" ในโลกที่เราอยู่ได้</p><p>ทำไม "เชื่อมโยง" ถึงเป็นหัวใจสำคัญ สิ่งที่ทำให้งานวิจัยนี้เป็นที่กล่าวขานใน ACL 2020 ก็คือ การเล่าแนว "thought experiment" (การทดลองทางจินตนาการ) เพื่อแสดงจุดอ่อนของ AI ให้เห็นชัดๆ ในบททดสอบ "Octopus Test" หรือก็คือ "ถ้าเราถูกหมีไล่ล่าในป่าลึก  AI จะช่วยเราหนีได้หรือไม่ ?" ---- หมายเหตุ "การทดลองทางจินตนาการ" เป็นเทคนิกเดียวกันกับที่ไอน์สไตน์ใช้ตอนคิดทฤษฎีสัมพัธภาพว่าถ้าเราสามารถเดินทางได้เร็ว +/- เท่าแสงจะเกิดอะไรขึ้น ?</p><p>.</p><p> </p><p><span style="text-decoration: underline"><strong>ถ้าถูกหมีไล่ล่าในป่าลึก  AI จะช่วยเราหนีได้หรือไม่ ? (Octopus Test)</strong></span></p><p>การทดลองทางจินตนาการนี้สมมติให้ A และ B เป็นนักท่องเที่ยวที่พลัดหลงไปในเกาะกลางมหาสมุทร โดย A และ B อยู่คนละเกาะกัน และเกาะทั้งสองนั้นไม่มีผู้คนอาศัยอยู่เลยในปัจจุบัน</p><p>อย่างไรก็ดีโชคดีที่เคยมีผู้ที่เคยอาศัยอยู่ได้สร้าง "โทรเลข" เพื่อให้คนทั้งสองเกาะสามารถพิมพ์ข้อความคุยกันได้ จึงทำให้ A และ B สามารถ "chat" หากันได้ เหมือนพวกเราในสมัยนี้ แต่เป็น text mode เพียงอย่างเดียวและไม่มีรูปภาพประกอบ</p><p>ในใต้ทะเลลึกนั้นมีปลาหมึกอัจฉริยะนามว่า "O" ที่สนใจข้อความของ A และ B มาก และแอบฟังผ่านเคเบิลใต้น้ำได้ทั้งหมด (ดังรูปแนบ)  เจ้า O ทำหน้าที่เป็นตัวแทนของโมเดล AI Transformers นั้นแท้จริงแล้วไม่เข้าใจภาษาอังกฤษเลย แต่สามารถจดจำ text messages ของ A และ B ได้ทั้งหมด รวมทั้งรูปแบบและสถิติต่างๆ ที่เกี่ยวข้อง สามารถอนุมานถึงคำใกล้เคียง ประโยคใกล้เคียงกันได้ทั้งหมดเฉกเช่นเดียวกันกับ BERT หรือ GPT-2 ในปัจจุบัน</p><p><img src="https://i.ibb.co/vhwtCbL/octopus2.png" /></p><p>เวลาผ่านไปนาน O เกิดเบื่อขึ้นมาเลยตัดสายเชื่อมโยงของ A และ B ทิ้ง และตัดสินใจที่จะตอบกลับไปยัง A แทน B!</p><p>A จะทราบหรือไม่ว่าแท้จริงแล้วตนเองคุยกับปลาหมึกอยู่ มิใช่ B ตัวจริง ?? (นี่คือ Turing Test ดีดีนี่เอง)</p><p>คำตอบที่ Bender และ Koller คิดก็คือ "ขึ้นกับว่าคุยเรื่องอะไร" โดยทั่วไป เนื่องจาก A และ B ต่างก็คุยกันมาเป็นเวลานาน หลากหลายเรื่องราว เจ้า O ซึ่งสามารถจดจำ pattern ได้ทั้งหมดสามารถสวมรอยแทน B ได้อย่างแนบเนียน</p><p>อย่างไรก็ดีจะเกิดอะไรขึ้นถ้า A นั้นเริ่มต้นคุยเรื่องใหม่ที่ไม่เคยคุยกับ B มาก่อน เช่น A นึกสนุกประดิษฐ์ "เครื่องยิงลูกมะพร้าว" ขึ้นมาและส่งข้อความไปเล่า B  …. เจ้า O จะไม่มีทางทราบว่า  "เครื่องยิงลูกมะพร้าว" นี่มันคืออะไรกันแน่ อย่างไรก็ดี ในประโยคที่ A เล่ามานั้นอาจมีถ้อยคำที่บ่งบอกถึงความตื่นเต้นดีใจอยู่ และเจ้า O จะสามารถจับคำเหล่านี้ได้ จึงตอบไปว่า "เยี่ยม เจ๋งไปเลยเพื่อน" หรือคำตอบอื่นในทำนองเดียวกัน</p><p>.</p><p>อยู่มาวันหนึ่ง บททดสอบที่แท้จริงก็มาถึง เมื่อมี "หมี" ที่ดุร้ายอยู่ในเกาะของ A และพุ่งตรงเข้ามาทำร้าย A โดย A ไม่มีความรู้ที่จะมารับมือกับหมีได้จึงได้ส่งข้อความไปขอคำแนะนำจาก B !!</p><p>แน่นอนเจ้า O ไม่เคยรู้มาก่อนว่า "หมี" ที่ว่าคืออะไร และ A ไม่เคยตกอยู่ในอันตรายมาก่อน เจ้า O จะตอบว่าอะไร?? ในงานวิจัยของ Bender และ Koller ได้ทดลองจำลองคำพูดเหล่านี้ให้โมเดล GPT-2 ซึ่งเป็นตัวแทนของ O และได้ชื่อว่าเป็นโมเดลทางภาษาที่ดีที่สุดตอบกลับมา โดยให้โอกาส GPT-2 ได้ตอบซ้ำๆ หลายรอบ</p><p>ผลปรากฏว่า GPT-2 ไม่สามารถช่วยอะไรได้เลย และหนึ่งในคำตอบก็คือ "นายไม่รอดแน่" !!! (ฮา)</p><p>จากการทดลองทางจินตนาการและการทดลองกับ GPT-2 นี้ทำให้ Bender และ Koller เคลมว่าถ้าเปรียบเทียบการสร้าง AI ให้เข้าใจภาษามนุษย์จริงๆ เป็นการปีนเขาไปให้ถึงจุดยอด ถ้าดูจากผลการทดลองต่างๆ ในวงการ NLP เช่นบทความตอนที่แล้วของเรา เรากำลังถึงจุดยอดจริง แต่เป็นการปีนเขาผิดลูกครับ!</p><p> </p><p><span style="text-decoration: underline"><strong>บทส่งท้าย -- การปรากฏตัวของ GPT-3 และสมมติฐานที่ไม่ครอบคลุมของ Bender และ Koller</strong></span></p><p>ขอปิดท้ายไว้ว่างานวิจัยฉบับนี้ออกมาในขณะที่ GPT-3 ยังไม่ถูกเผยแพร่ และนักวิจัยบางท่านมีโอกาสได้ทดลอง GPT-3 กับเคส Study "หมีวิ่งไล่" นี้อย่างละเอียดพบว่า แท้จริงแล้ว GPT-3 สามารถแนะนำวิธีที่ถูกต้องที่จะทำให้เรารอดพ้นจากหมีได้จริงครับ!!! หรือว่าแท้จริงแล้ว เราไม่ได้ปีนเขาผิดลูก และทำไมการทดลองทางจินตนาการของ Bender และ Koller ถึงไม่สมบูรณ์  เรามาดู case study นี้ของ GPT-3 ในตอนถัดไปครับ</p><p> </p><p><strong>เอกสารอ้างอิง</strong></p><p> </p><ul><li><strong>"Climbing towards NLU: On Meaning, Form, and Understanding in the Age of Data" : <a href="https://www.aclweb.org/anthology/2020.acl-main.463.pdf">https://www.aclweb.org/anthology/2020.acl-main.463.pdf</a></strong></li></ul><p> </p>]]></content:encoded>
						                            <category domain="https://thaikeras.com/community/main-forum/">คุยกันภาษา AI</category>                        <dc:creator>The Neural Engineer</dc:creator>
                        <guid isPermaLink="true">https://thaikeras.com/community/main-forum/deep-language-understanding-series/#post-372</guid>
                    </item>
							        </channel>
        </rss>
		