เร่งความเร็วด้วย BERT: NLP Optimization Models

เผยแพร่แล้ว: 2022-03-11

เร่ง NLP ด้วย BERT: ผลลัพธ์ระดับโลกด้วยข้อมูลน้อยกว่า 100 เท่า

มีปัญหาหลักสองประการในการสร้างแบบจำลองการจัดประเภทการประมวลผลภาษาธรรมชาติเชิงลึก (NLP)

  1. การรวบรวมข้อมูล (การรับจุดข้อมูลที่เป็นความลับนับพันหรือล้านจุด)
  2. สถาปัตยกรรมการเรียนรู้เชิงลึกและการฝึกอบรม

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

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

ในบทความนี้เราจะพูดถึง

  1. เทรนด์การเรียนรู้เชิงลึกสำหรับ NLP: การถ่ายโอนการเรียนรู้ทำให้โมเดลระดับโลกเป็นโอเพ่นซอร์สได้อย่างไร
  2. บทนำสู่ BERT: บทนำเกี่ยวกับ "เครื่องมือ" ของ NLP ที่ทรงพลังที่สุดจนถึงปัจจุบัน – การแสดงตัวเข้ารหัสแบบสองทิศทางจากหม้อแปลง (BERT)
  3. วิธีการทำงานของ BERT และสาเหตุที่บริษัทจะเปลี่ยนวิธีที่บริษัทดำเนินการในโครงการ NLP

เทรนด์การเรียนรู้เชิงลึก

โดยธรรมชาติแล้ว การปรับให้เหมาะสมของกระบวนการนี้เริ่มด้วยความแม่นยำที่เพิ่มขึ้น เครือข่าย LSTM (หน่วยความจำระยะสั้นระยะยาว) ปฏิวัติงาน NLP จำนวนมาก แต่พวกเขา (และ) ต้องการข้อมูลอย่างไม่น่าเชื่อ การเพิ่มประสิทธิภาพและการฝึกอบรมโมเดลเหล่านั้นอาจใช้เวลาเป็นวันหรือเป็นสัปดาห์สำหรับเครื่องจักรขนาดใหญ่และมีราคาแพง สุดท้าย การนำโมเดลขนาดใหญ่ไปใช้ในการผลิตนั้นมีค่าใช้จ่ายสูงและยุ่งยาก

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

ลองนึกภาพสถานการณ์ที่บางคนไม่เคยเห็นพุ่มไม้แต่ได้เห็นต้นไม้มากมายในชีวิต คุณจะพบว่ามันง่ายกว่ามากที่จะอธิบายให้พวกเขาฟังว่าพุ่มไม้นั้นเป็นอย่างไรในแง่ของสิ่งที่พวกเขารู้เกี่ยวกับต้นไม้ แทนที่จะอธิบายพุ่มไม้ตั้งแต่ต้น การถ่ายโอนการเรียนรู้เป็นวิธีการเรียนรู้ของมนุษย์ ดังนั้น จึงสมเหตุสมผลโดยสัญชาตญาณว่าสิ่งนี้จะได้ผลในงานการเรียนรู้เชิงลึก

BERT หมายความว่าคุณต้องการข้อมูลน้อยลง ใช้เวลาฝึกอบรมน้อยลง และคุณได้รับมูลค่าทางธุรกิจมากขึ้น คุณภาพของผลิตภัณฑ์ NLP ที่ทุกธุรกิจสามารถสร้างได้นั้นกลายเป็นระดับโลก

มา BERT

BERT ใช้ประโยชน์จากสิ่งที่เรียกว่า Transformers และถูกออกแบบมาเพื่อสร้างการเข้ารหัสประโยค โดยพื้นฐานแล้ว BERT เป็นรูปแบบภาษาที่อิงตามแบบจำลองการเรียนรู้เชิงลึกเฉพาะ สร้างขึ้นโดยมีวัตถุประสงค์เพื่อให้บริบท ตัวเลข การแสดงประโยคหรือสตริงของประโยค การนำเสนอแบบดิจิทัลนั้นเป็นอินพุตของแบบจำลองที่ตื้นและไม่ซับซ้อน ไม่เพียงแค่นั้น แต่ผลลัพธ์โดยทั่วไปจะเหนือกว่าและต้องการข้อมูลอินพุตเพียงเศษเสี้ยวของงานที่ยังไม่ได้รับการแก้ไข

ลองนึกภาพว่าสามารถใช้เวลาหนึ่งวันในการรวบรวมข้อมูลแทนที่จะเป็นปี และสามารถสร้างแบบจำลองจากชุดข้อมูลที่คุณไม่เคยมีข้อมูลเพียงพอสำหรับการสร้างแบบจำลอง LSTM จำนวนงาน NLP ที่จะเปิดขึ้นสำหรับธุรกิจที่ก่อนหน้านี้ไม่สามารถใช้เวลาในการพัฒนาและความเชี่ยวชาญที่จำเป็นนั้นน่าทึ่ง

BERT กับ LSTM แสดงภาพประกอบ

วิธีการทำงานของ BERT

ใน NLP แบบดั้งเดิม จุดเริ่มต้นสำหรับการฝึกโมเดลคือเวกเตอร์คำ เวกเตอร์คำคือรายการตัวเลข [0.55, 0.24, 0.90, …] ที่พยายามแสดงตัวเลขว่าคำนั้นหมายถึงอะไร ด้วยการแสดงตัวเลข เราสามารถใช้คำเหล่านั้นในการฝึกโมเดลที่ซับซ้อน และด้วยเวกเตอร์คำขนาดใหญ่ เราสามารถฝังข้อมูลเกี่ยวกับคำลงในแบบจำลองของเรา

BERT ทำสิ่งที่คล้ายคลึงกัน (อันที่จริง จุดเริ่มต้นของมันคือเวกเตอร์คำ) แต่สร้างการแสดงตัวเลขของประโยคอินพุตทั้งหมด (หรือประโยค)

เมื่อเทียบกับรุ่น LSTM แล้ว BERT ทำได้หลายอย่างแตกต่างกัน

  1. มันอ่านคำทั้งหมดในครั้งเดียวมากกว่าซ้ายไปขวาหรือขวาไปซ้าย
  2. 15% ของคำจะถูกสุ่มเลือกเพื่อ "สวมหน้ากาก" (แทนที่ด้วยโทเค็น [MASK] อย่างแท้จริง) ในช่วงเวลาการฝึก
    • 10% ของคำที่เลือกแบบสุ่มจะไม่เปลี่ยนแปลง
    • 10% ของคำที่สวมหน้ากากจะถูกแทนที่ด้วยคำสุ่ม
    • (ก) และ (ข) ทำงานร่วมกันเพื่อบังคับตัวแบบให้ทำนายทุกคำในประโยค (ตัวแบบขี้เกียจ)
  3. จากนั้น BERT จะพยายามทำนายคำทั้งหมดในประโยค และมีเพียงคำที่ปิดบังเท่านั้นที่ส่งผลต่อฟังก์ชันการสูญเสีย ซึ่งรวมถึงคำที่ไม่เปลี่ยนแปลงและสุ่มแทนที่
  4. โมเดลนี้ได้รับการปรับแต่งอย่างละเอียดในการทำนายประโยคถัดไป ในขั้นตอนนี้ ตัวแบบจะพยายามกำหนดว่าประโยคที่กำหนดเป็นประโยคถัดไปในข้อความหรือไม่

การบรรจบกันช้าและ BERT ใช้เวลานานในการฝึก อย่างไรก็ตาม มันเรียนรู้ความสัมพันธ์ตามบริบทในข้อความได้ดีกว่ามาก เวกเตอร์คำเป็นการแทนแบบตื้นมากที่จำกัดความซับซ้อนที่สามารถสร้างแบบจำลองได้ BERT ไม่มีข้อจำกัดนี้

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

การใช้ BERT และการเปรียบเทียบมูลค่าทางธุรกิจ

เนื่องจากบทความนี้เน้นที่การใช้งานทางธุรกิจและวิศวกรรมในการสร้างผลิตภัณฑ์จริง เราจะสร้างและฝึกอบรมแบบจำลองสองแบบเพื่อให้เข้าใจถึงค่าเปรียบเทียบได้ดียิ่งขึ้น

  1. BERT: ไปป์ไลน์ BERT ที่ตรงไปตรงมาที่สุด เราประมวลผลข้อความด้วยวิธีมาตรฐาน เราสร้างการเข้ารหัสประโยค BERT และเราป้อนการเข้ารหัสประโยคเหล่านั้นลงในโครงข่ายประสาทเทียมแบบตื้น
  2. LSTM: มาตรฐานฝัง - เข้ารหัส - เข้าร่วม - ทำนายสถาปัตยกรรม (ภาพด้านบน)

งาน? การทำนายที่มาของภาพยนตร์ตามโครงเรื่องจากไอเอ็ม ชุดข้อมูลของเราครอบคลุมภาพยนตร์จากอเมริกา, ออสเตรเลีย, อังกฤษ, แคนาดา, ญี่ปุ่น, จีน, เกาหลีใต้ และรัสเซีย รวมถึงภาพยนตร์อื่นๆ อีก 16 เรื่อง รวม 24 เรื่อง เรามีตัวอย่างการฝึกอบรมทั้งหมดไม่ถึง 35,000 ตัวอย่าง

นี่คือตัวอย่างข้อมูลโค้ดจากโครงเรื่อง

หลายพันปีก่อน Steppenwolf และพยุหเสนาของ Parademons พยายามที่จะยึดครองโลกด้วยพลังที่รวมกันของ Mother Boxes สามกล่อง พวกเขาถูกขัดขวางโดยกองทัพที่รวมกันเป็นหนึ่งซึ่งรวมถึงเทพแห่งโอลิมเปีย, แอมะซอน, แอตแลนติส, มนุษยชาติ และกรีนแลนเทิร์นคอร์ป หลังจากขับไล่กองทัพของ Steppenwolf แล้ว Mother Boxes ก็แยกจากกันและซ่อนตัวอยู่ในสถานที่ต่างๆ บนโลกใบนี้ ในปัจจุบัน มนุษยชาติกำลังคร่ำครวญถึงซูเปอร์แมน ซึ่งความตายได้กระตุ้น Mother Boxes ให้กลับมาทำงานอีกครั้ง และการกลับมาของ Steppenwolf สู่โลกด้วยความพยายามที่จะได้รับความโปรดปรานจาก Darkseid เจ้านายของเขา Steppenwolf ตั้งเป้าที่จะรวบรวมสิ่งประดิษฐ์ต่างๆ เพื่อสร้าง "The Unity" ซึ่งจะทำลายระบบนิเวศน์ของโลกและแปลงโฉมให้เป็นรูปของ...

หากคุณไม่ได้เดา นี่คือเนื้อเรื่องของ Justice League — ภาพยนตร์อเมริกัน

ผลลัพธ์

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

สำหรับโมเดล LSTM เราฝึกโมเดลที่ใหญ่ที่สุดที่เราสามารถทำได้บน GPU ของเรา และเปลี่ยนขนาดของคำศัพท์และความยาวของคำเพื่อค้นหาโมเดลที่มีประสิทธิภาพดีที่สุด สำหรับโมเดล BERT เราไม่มีอะไรมากไปกว่าเลเยอร์เดียว

เราแก้ไขชุดการทดสอบของเราในตัวอย่างทั้งหมด ดังนั้นเราจึงให้คะแนนชุดการฝึกอบรมเดียวกันอย่างสม่ำเสมอ

ผลลัพธ์เมื่อใช้ BERT NLP

ในงานนี้ แบบจำลองที่ฝึกโดยใช้การเข้ารหัสประโยคของ BERT ถึงคะแนน F1 ที่น่าประทับใจที่ 0.84 หลังจากตัวอย่างเพียง 1,000 ตัวอย่าง เครือข่าย LSTM ไม่เกิน 0.60 ที่น่าประทับใจยิ่งกว่านั้น การฝึกอบรมโมเดล BERT ใช้เวลาเฉลี่ย 1/20 ของเวลา มากกว่าการเตรียมโมเดล LSTM

บทสรุป

โดยตัวชี้วัดใดๆ ผลลัพธ์เหล่านี้ชี้ให้เห็นถึงการปฏิวัติใน NLP ด้วยการใช้ข้อมูลน้อยลง 100x และใช้เวลาฝึกอบรมน้อยลง 20x เราจึงบรรลุผลลัพธ์ระดับโลก ความสามารถในการฝึกโมเดลคุณภาพสูงในไม่กี่วินาทีหรือนาทีแทนที่จะเป็นชั่วโมงหรือวันเปิด NLP ในพื้นที่ที่ก่อนหน้านี้ไม่สามารถจ่ายได้

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

รหัสหลังโพสต์นี้มีอยู่ใน Github ฉันยังสนับสนุนให้ผู้อ่านลองใช้ Bert-as-a-service ซึ่งเป็นรากฐานที่สำคัญของการสร้างการเข้ารหัสประโยค BERT สำหรับโพสต์นี้

ที่เกี่ยวข้อง: การใช้ประโยชน์สูงสุดจากโมเดลที่ผ่านการฝึกอบรมมาแล้ว