โมเดลและแพลตฟอร์ม AI
ลามา 2: การสำรวจลึกเกี่ยวกับโมเดลภาษาขนาดใหญ่แบบโอเพ่นซอร์สที่ท้าทาย ChatGPT
โมเดลภาษาขนาดใหญ่ (LLMs) ที่สามารถทำหน้าที่การให้เหตุผลที่ซับซ้อนได้แสดงให้เห็นถึงความมุ่งมั่นในโดเมนสpecialized เช่น การเขียนโปรแกรมและงานเขียนเชิงสร้างสรรค์ อย่างไรก็ตาม โลกของ LLMs ไม่ใช่แค่天堂ของการเสียบปลั๊กและเล่นเท่านั้น มี挑战ในการใช้งาน ความปลอดภัย และความต้องการการคำนวณ ในบทความนี้ เราจะสำรวจความสามารถของ Llama 2 โดยให้คำแนะนำทีละขั้นตอนในการตั้งค่าโมเดล LLM ที่มีประสิทธิภาพสูงนี้ผ่าน Hugging Face และ T4 GPUs บน Google Colab
พัฒนาโดย Meta ร่วมกับ Microsoft (MSFT ) โมเดลภาษาขนาดใหญ่แบบโอเพ่นซอร์สนี้มีเป้าหมายที่จะเปลี่ยนแปลงพื้นที่ของ AI ที่สร้างและเข้าใจภาษาธรรมชาติ Llama 2 ไม่ใช่แค่โมเดลทางสถิติที่ฝึกฝนจากเทราบایتของข้อมูล แต่เป็นตัวแทนของปรัชญาหนึ่ง ที่เน้นย้ำถึงแนวทางโอเพ่นซอร์สเป็นกระดูกสันหลังของพัฒนา AI โดยเฉพาะในพื้นที่ AI ที่สร้าง
Llama 2 และรูปแบบที่ปรับให้เหมาะสมสำหรับการสนทนา Llama 2-Chat มาพร้อมกับตัวแปรสูงสุด 70 พันล้านตัวแปร พวกมันผ่านกระบวนการปรับให้เหมาะสมที่ออกแบบมาเพื่อให้เข้ากับความชอบของมนุษย์ ทำให้พวกมันทั้งปลอดภัยและมีประสิทธิภาพมากกว่าโมเดลที่มีอยู่อื่นๆ ที่สามารถเข้าถึงได้โดยทั่วไป การปรับให้เหมาะสมในระดับนี้มักสงวนไว้สำหรับ LLMs ที่ปิด “ผลิตภัณฑ์” เช่น ChatGPT และ BARD ซึ่งไม่ค่อยเปิดให้ตรวจสอบหรือปรับแต่งโดยสาธารณะ
การสำรวจลึกเกี่ยวกับ Llama 2
สำหรับการฝึกอบรมโมเดล Llama 2 เช่นเดียวกับบรรพบุรุษของมัน มันใช้สถาปัตยกรรมทรานส์ฟอร์เมอร์แบบอัตโนมัติ ที่ได้รับการฝึกฝนล่วงหน้าด้วยข้อมูลที่ไม่มีการกำกับ อย่างไรก็ตาม มันเพิ่มความซับซ้อนโดยใช้การเรียนรู้แบบเสริมกำลังด้วยการให้ข้อมูลจากมนุษย์ (RLHF) เพื่อให้เข้ากับพฤติกรรมและความชอบของมนุษย์มากขึ้น ซึ่งเป็นการใช้คำนวณที่มีค่าใช้จ่ายสูง แต่จำเป็นต่อการปรับปรุงความปลอดภัยและประสิทธิภาพของโมเดล
การฝึกอบรมล่วงหน้าและประสิทธิภาพของข้อมูล
นวัตกรรมพื้นฐานของ Llama 2 อยู่ในกระบวนการฝึกอบรมล่วงหน้า โมเดลนี้ได้รับคำแนะนำจากบรรพบุรุษ Llama 1 แต่แนะนำการปรับปรุงหลายอย่างที่สำคัญเพื่อเพิ่มประสิทธิภาพ ไม่น้อยกว่าการเพิ่มขึ้น 40% ในจำนวนโทเค็นที่ฝึกอบรมทั้งหมดและขยายความยาวบริบทเป็นสองเท่า นอกจากนี้ โมเดลยังใช้การดูแลกลุ่ม (GQA) เพื่อเพิ่มความสามารถในการอนุมาน
การปรับให้เหมาะสมแบบมีการกำกับ (SFT) และการเรียนรู้แบบเสริมกำลังด้วยการให้ข้อมูลจากมนุษย์ (RLHF)
Llama-2-Chat ได้รับการปรับให้เหมาะสมอย่างเข้มงวดโดยใช้ทั้ง SFT และ RLHF ในบริบทนี้ SFT เป็นส่วนประกอบสำคัญของโครงสร้าง RLHF โดยปรับให้เหมาะสมกับการตอบสนองของโมเดลให้เข้ากับความชอบและความคาดหวังของมนุษย์มากขึ้น
OpenAI ได้ให้คำอธิบายที่มีประโยชน์เกี่ยวกับวิธีการ SFT และ RLHF ที่ใช้ใน InstructGPT เช่นเดียวกับ LLaMa 2 โมเดลเหล่านี้ใช้เทคนิคการฝึกอบรมที่ซับซ้อนเพื่อปรับปรุงประสิทธิภาพ
ขั้นตอนที่ 1 ในรูปด้านล่างเน้นถึงการปรับให้เหมาะสมแบบมีการกำกับ (SFT) ในขณะที่ขั้นตอนต่อไปจะเสร็จสิ้นกระบวนการ RLHF
การปรับให้เหมาะสมแบบมีการกำกับ (SFT) เป็นกระบวนการที่มีจุดมุ่งหมายเพื่อปรับโมเดลภาษาขนาดใหญ่แบบฝึกอบรมล่วงหน้าให้เหมาะสมสำหรับงานที่เฉพาะเจาะจง ไม่เหมือนกับวิธีการที่ไม่มีการกำกับ ซึ่งไม่ต้องการการตรวจสอบข้อมูล SFT ใช้ข้อมูลที่ได้รับการตรวจสอบและป้ายกำกับล่วงหน้า
โดยทั่วไปการสร้างชุดข้อมูลเหล่านี้มีค่าใช้จ่ายสูงและใช้เวลานาน วิธีการของ Llama 2 ให้ความสำคัญกับคุณภาพมากกว่าปริมาณ ด้วยการมีเพียง 27,540 การบันทึก Meta ทีมบรรลุระดับการทำงานที่สามารถแข่งขันกับผู้บันทึกข้อมูลของมนุษย์ได้ ซึ่งสอดคล้องกับ การศึกษาล่าสุด ที่แสดงให้เห็นว่าแม้แต่ชุดข้อมูลที่มีขนาดเล็กแต่สะอาดก็สามารถผลิตผลลัพธ์ที่มีคุณภาพสูงได้
ในกระบวนการ SFT โมเดลที่ฝึกอบรมล่วงหน้าจะถูกนำไปสู่ชุดข้อมูลที่มีป้ายกำกับ โดยที่อัลกอริทึมการเรียนรู้แบบมีการกำกับเข้ามาเล่นบทบาท น้ำหนักภายในของโมเดลจะถูกปรับให้เหมาะสมตามความแตกต่างที่คำนวณจากฟังก์ชันการเสียหายในงานเฉพาะ
การปรับให้เหมาะสมนี้ช่วยให้โมเดลเข้าใจรูปแบบและความแตกต่างที่ซับซ้อนภายในชุดข้อมูลที่มีป้ายกำกับ ดังนั้น โมเดลจึงไม่ใช่แค่เครื่องมือที่มีประโยชน์โดยทั่วไป แต่กลายเป็นทรัพยากรที่มีประสิทธิภาพสูงในการทำงานเป้าหมายด้วยความแม่นยำสูง
การเรียนรู้แบบเสริมกำลังเป็นขั้นตอนต่อไปที่มีจุดมุ่งหมายเพื่อให้พฤติกรรมของโมเดลสอดคล้องกับความชอบของมนุษย์มากขึ้น
ขั้นตอนการปรับให้เหมาะสมใช้การเรียนรู้แบบเสริมกำลังด้วยการให้ข้อมูลจากมนุษย์ (RLHF) โดยใช้เทคนิค เช่น การวาดตัวอย่างความสำคัญ และ การเพิ่มประสิทธิภาพนโยบายแบบพอกพูน เพื่อแนะนำความผันผวนของอัลกอริทึม และหลีกเลี่ยงจุดต่ำสุดเฉพาะที่ไม่ดี การปรับให้เหมาะสมแบบซ้ำๆ นี้ไม่เพียงแต่ปรับปรุงโมเดลเท่านั้น แต่ยังทำให้ผลลัพธ์ของมันสอดคล้องกับความคาดหวังของมนุษย์
Llama 2-Chat ใช้โพรโทคอลการเปรียบเทียบแบบทวินามเพื่อรวบรวมข้อมูลความชอบของมนุษย์ ซึ่งเป็นแนวโน้มที่มุ่งไปสู่แนวทางที่มีคุณภาพมากขึ้น โพรโทคอลนี้ให้ข้อมูลแก่โมเดลรางวัล ซึ่งจะใช้ในการปรับให้เหมาะสมโมเดล AI สำหรับการสนทนา
การดูแลแบบ Ghost: การสนทนาหลายรอบ
Meta ได้แนะนำคุณลักษณะใหม่ เรียกว่า Ghost Attention (GAtt) ซึ่งออกแบบมาเพื่อปรับปรุงประสิทธิภาพของ Llama 2 ในการสนทนาหลายรอบ คุณลักษณะนี้ช่วยแก้ปัญหาเรื่องการสูญเสียบริบทในระหว่างการสนทนา GAtt ทำหน้าที่เหมือน锚ที่เชื่อมคำสั่งเริ่มต้นกับข้อความของผู้ใช้ทั้งหมดที่ตามมา เมื่อรวมกับเทคนิคการเรียนรู้แบบเสริมกำลัง ช่วยให้ผลลัพธ์ที่สอดคล้องกันและเกี่ยวข้องกับผู้ใช้ในระหว่างการสนทนาหลายรอบ
การดาวน์โหลดจาก Meta Git Repository โดยใช้ download.sh
- เยี่ยมชมเว็บไซต์ Meta: ไปที่ เว็บไซต์ Llama 2 ของ Meta และคลิก ‘ดาวน์โหลดโมเดล’
- กรอกข้อมูล: อ่านและยอมรับข้อกำหนดและเงื่อนไขเพื่อดำเนินการต่อ
- ยืนยันทางอีเมล: เมื่อแบบฟอร์มถูกส่งแล้ว คุณจะได้รับอีเมลจาก Meta ที่มีลิงก์สำหรับการดาวน์โหลดโมเดลจากที่เก็บของ Git
- เรียกใช้ download.sh: โคลนที่เก็บ Git และเรียกใช้สคริปต์
download.shสคริปต์นี้จะขอให้คุณยืนยันตัวตนโดยใช้ URL จาก Meta ที่หมดอายุใน 24 ชั่วโมง คุณจะเลือกขนาดของโมเดล – 7B, 13B หรือ 70B
การดาวน์โหลดจาก Hugging
- รับอีเมลยืนยัน: หลังจากได้รับการอนุมัติจาก Meta ไปที่ Hugging Face
- ขออนุมัติ: เลือกโมเดลที่คุณต้องการและส่งคำขอเพื่อให้ได้รับการอนุมัติ
- ยืนยัน: คาดว่าจะได้รับอีเมล ‘ได้รับการอนุมัติ’ ใน 1-2 วัน
- สร้างโทเค็นการเข้าถึง: ไปที่ ‘การตั้งค่า’ ในบัญชี Hugging Face ของคุณเพื่อสร้างโทเค็นการเข้าถึง
การเปิดตัว Transformers 4.31 เป็นที่เข้ากันได้กับ LLaMa 2 และเปิดใช้งานเครื่องมือและฟังก์ชันหลายอย่างภายในระบบ Hugging Face ตั้งแต่สคริปต์การฝึกอบรมและการอนุมานไปจนถึงการปรับให้เหมาะสมแบบ 4 บิตด้วย bitsandbytes และการปรับให้เหมาะสมแบบ Parameter Efficient Fine-tuning (PEFT) ชุดเครื่องมือนี้มีความครอบคลุม เพื่อเริ่มต้น คุณต้องแน่ใจว่าคุณใช้การเปิดตัว Transformers ล่าสุดและเข้าสู่ระบบบัญชี Hugging Face ของคุณ
นี่คือคำแนะนำที่กระชับสำหรับการรันการอนุมานโมเดล LLaMa 2 ในสภาพแวดล้อม Google Colab โดยใช้การทำงาน GPU:
การติดตั้งแพ็คเกจ
<p>!pip install transformers !huggingface-cli login
การนำเข้าไลบรารี Python ที่จำเป็น
from transformers import AutoTokenizer import transformers import torch
การเริ่มต้นโมเดลและโทเคไนเซอร์
ในขั้นตอนนี้ ระบุว่าคุณจะใช้โมเดล Llama 2 ใด สำหรับคำแนะนำนี้ เราใช้ meta-llama/Llama-2-7b-chat-hf
model = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(model)
การตั้งค่าพายพ์ไลน์
ใช้พายพ์ไลน์ของ Hugging Face สำหรับการสร้างข้อความด้วยการตั้งค่าเฉพาะ:
pipeline = transformers.pipeline( "text-generation", model=model, torch_dtype=torch.float16, device_map="auto")
การสร้างลำดับข้อความ
สุดท้าย รันพายพ์ไลน์และสร้างลำดับข้อความตามข้อมูลเข้า:
sequences = pipeline(
'ใครคือผู้ร่วมให้ข้อมูลหลักในด้านปัญญาประดิษฐ์?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"ผลลัพธ์: {seq['generated_text']}")
อินเทอร์เฟซ A16Z สำหรับ LLaMa 2
Andreessen Horowitz (A16Z) ได้เปิดตัวอินเทอร์เฟซแบบ Streamlit สำหรับ Llama 2 ซึ่งจัดเก็บไว้บน GitHub อินเทอร์เฟซนี้รักษาประวัติการสนทนาและให้ความยืดหยุ่นในการเลือกจุดสิ้นสุด API ของ Llama 2 หลายจุดบน Replicate อินเทอร์เฟซที่มุ่งเน้นผู้ใช้นี้มีจุดมุ่งหมายเพื่อทำให้การโต้ตอบกับ Llama 2 ง่ายขึ้น ทั้งสำหรับนักพัฒนาและผู้ใช้สุดท้าย สำหรับผู้ที่สนใจ มีการแสดงตัวอย่างสดที่ Llama2.ai
Llama 2: สิ่งที่ทำให้มันแตกต่างจากโมเดล GPT และรุ่นก่อน Llama 1
ความหลากหลายในขนาด
ไม่เหมือนกับโมเดลภาษาที่ให้ความสามารถในการปรับขนาดที่จำกัด Llama 2 มีตัวเลือกหลายแบบสำหรับโมเดลที่มีพารามิเตอร์ต่างๆ ตั้งแต่ 7 พันล้านไปจนถึง 70 พันล้านพารามิเตอร์ ให้การกำหนดค่าที่หลากหลายเพื่อตอบสนองความต้องการการคำนวณที่แตกต่างกัน
ความยาวบริบทที่เพิ่มขึ้น
โมเดลนี้มีความยาวบริบทที่เพิ่มขึ้นถึง 4K โทเค็น เมื่อเปรียบเทียบกับ Llama 1 ทำให้สามารถรักษาข้อมูลได้มากขึ้น และเพิ่มความสามารถในการเข้าใจและสร้างเนื้อหาที่ซับซ้อนและกว้างขึ้น
การดูแลแบบกลุ่ม (GQA)
สถาปัตยกรรมใช้แนวคิดของ GQA ซึ่งออกแบบมาเพื่อเร่งการคำนวณการดูแลโดยการแคชคู่โทเค็นก่อนหน้า ซึ่งช่วยปรับปรุงความสามารถในการอนุมานของโมเดลและเพิ่มความสามารถในการเข้าถึง
มาตรฐานการแสดงผล
Llama 2 ได้ตั้งมาตรฐานใหม่ในด้านการวัดประสิทธิภาพ ไม่เพียงแต่เอาชนะรุ่นก่อนของมันเอง Llama 1 แต่ยังเป็นคู่แข่งที่สำคัญกับโมเดลอื่นๆ เช่น Falcon และ GPT-3.5
โมเดล Llama 2-Chat ที่ใหญ่ที่สุด คือ 70B ยังเอาชนะ ChatGPT ใน 36% ของกรณีและเทียบเท่ากันใน 31.5% ของกรณี อ้างอิงจาก เอกสาร
โอเพ่นซอร์ส: พลังของชุมชน
Meta และ Microsoft ตั้งเป้าที่จะทำให้ Llama 2 ไม่ใช่แค่ผลิตภัณฑ์ แต่เป็นเครื่องมือที่ขับเคลื่อนโดยชุมชน Llama 2 เปิดให้เข้าถึงได้ฟรีสำหรับการวิจัยและวัตถุประสงค์ที่ไม่ใช่การค้า ชุมชนสามารถช่วยทดสอบและแก้ไขจุดอ่อนของโมเดลได้อย่างรวดเร็ว การใช้แบบจำลองที่เปิดกว้างช่วยให้สามารถเข้าถึง AI ได้สำหรับธุรกิจขนาดเล็ก นักวิจัย และธุรกิจต่างๆ
แม้ว่าเงื่อนไขการให้ใบอนุญาตของ LLaMa 2 จะมีความยืดหยุ่นโดยทั่วไป แต่ก็มีข้อยกเว้นที่ มีอยู่ บริษัทขนาดใหญ่ที่มีผู้ใช้มากกว่า 700 ล้านคนต่อเดือน เช่น Google ต้องการการอนุมัติจาก Meta เพื่อใช้งาน ใบอนุญาตยังห้ามการใช้ LLaMa 2 เพื่อปรับปรุงโมเดลภาษาอื่นๆ
ความท้าทายในปัจจุบันกับ Llama 2
- การสร้างแบบจำลองข้อมูล: ทั้ง Llama 2 และ GPT-4 บางครั้งอาจไม่แสดงผลลัพธ์ที่สูงและสม่ำเสมอในงานที่หลากหลาย คุณภาพและความหลากหลายของข้อมูลมีความสำคัญไม่แพ้ปริมาณในสถานการณ์เหล่านี้
- ความโปร่งใสของโมเดล: เมื่อพิจารณาจากปัญหาในอดีตเกี่ยวกับ AI ที่สร้างผลลัพธ์ที่ทำให้เข้าใจผิด การสำรวจเหตุผลเบื้องหลังการตัดสินใจของโมเดลที่ซับซ้อนเหล่านี้จึงมีความสำคัญ
Code Llama – การเปิดตัวล่าสุดของ Meta
Meta ได้ประกาศ Code Llama ซึ่งเป็นโมเดลภาษาขนาดใหญ่ที่เชี่ยวชาญด้านการเขียนโปรแกรม โดยมีขนาดพารามิเตอร์ตั้งแต่ 7B ถึง 34B เช่นเดียวกับ ChatGPT Code Interpreter Code Llama สามารถทำให้กระบวนการทำงานของนักพัฒนาเร็วขึ้นและทำให้การเขียนโปรแกรมเป็นมิตรมากขึ้น มันรองรับหลายภาษาโปรแกรมมิ่งและมีรูปแบบเฉพาะสำหรับงานเฉพาะ เช่น Code Llama–Python สำหรับงานที่เกี่ยวข้องกับ Python โมเดลนี้ยังมีระดับการทำงานที่แตกต่างกันเพื่อตอบสนองความต้องการความหน่วงต่างๆ โมเดลที่เปิดกว้างนี้ช่วยให้ชุมชนสามารถมีส่วนร่วมในการปรับปรุงอย่างต่อเนื่อง
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
สรุป
บทความนี้ได้นำคุณผ่านขั้นตอนการตั้งค่าโมเดล Llama 2 สำหรับการสร้างข้อความบน Google Colab โดยใช้ Hugging Face Llama 2 มีประสิทธิภาพที่ขับเคลื่อนด้วยเทคนิคที่ซับซ้อน ตั้งแต่สถาปัตยกรรมทรานส์ฟอร์เมอร์แบบอัตโนมัติไปจนถึงการเรียนรู้แบบเสริมกำลังด้วยการให้ข้อมูลจากมนุษย์ (RLHF) โดยมีพารามิเตอร์สูงสุด 70 พันล้านและคุณลักษณะเช่น Ghost Attention โมเดลนี้สามารถเอาชนะมาตรฐานอุตสาหกรรมในปัจจุบันในบางด้าน และด้วยธรรมชาติที่เปิดกว้าง มันจะเปิดทางให้เกิดยุคใหม่ในด้านการเข้าใจและสร้างภาษาธรรมชาติ

















