pratical llms
1.0.0
ยินดีต้อนรับสู่พื้นที่เก็บข้อมูลสำหรับวิศวกร LLM (Large Language Model)! คอลเลกชันสมุดบันทึก Jupyter นี้ออกแบบมาเพื่อรวบรวมแง่มุมที่เป็นประโยชน์ในงานของเรา ฉันจะรวบรวมและเพิ่ม jupyter และ/หรือสคริปต์เพื่อการเรียนรู้และการทดลอง
โน๊ตบุ๊ค | คำอธิบาย | URL |
---|---|---|
1_understand_llms_benchmarks.ipynb | สมุดบันทึกนี้ให้คำอธิบายเกี่ยวกับการวัดประสิทธิภาพหลักที่ใช้ในกระดานผู้นำ openLLM มีจุดมุ่งหมายเพื่อช่วยให้คุณเข้าใจตัวชี้วัดหลักและวิธีการที่ใช้ในการเปรียบเทียบ LLM | ลิงค์ |
2_quantization_base.ipynb | ในสมุดบันทึกนี้ คุณจะได้เรียนรู้วิธีเปิดโมเดล Hugging Face ในแบบ 8 บิตและ 4 บิตโดยใช้ไลบรารี BitandBytes การหาปริมาณเป็นเทคนิคที่สำคัญในการเพิ่มประสิทธิภาพโมเดลและการใช้ทรัพยากรให้เหมาะสม และสมุดบันทึกนี้จะแนะนำคุณตลอดกระบวนการ | ลิงค์ |
3_quantization_gptq.ipynb | สำรวจการหาปริมาณในรูปแบบ GPTQ โดยใช้ไลบรารี auto-gptq กับสมุดบันทึกนี้ รูปแบบ GPTQ กำลังได้รับความนิยมเนื่องจากประสิทธิภาพในการบีบอัดและกำหนดปริมาณโมเดลขนาดใหญ่ เช่น GPT เรียนรู้วิธีใช้ประโยชน์จากรูปแบบนี้สำหรับโมเดลของคุณ | ลิงค์ |
4_quantization_exllamav2.ipynb | วิธีหาปริมาณโมเดลจาก HF ถึง exllamav2 | ลิงค์ |
5_sharding_and_offloading.ipynb | วิธีแบ่งโมเดลออกเป็นหลาย ๆ ชิ้น อนุญาตให้โหลดบนอุปกรณ์ต่าง ๆ หรือโหลดทีละรายการเพื่อจัดการหน่วยความจำ เรียนรู้วิธีถ่ายโอนเลเยอร์บางส่วนไปยัง CPU หรือแม้แต่ดิสก์ | ลิงค์ |
6_gguf_quantization_and_inference.ipynb | กำหนดปริมาณโมเดลลงใน GGUF โดยใช้ไลบรารี llama.cpp การอนุมานบนเซิร์ฟเวอร์ที่รองรับ OpenAI | ลิงค์ |
7_gguf_split_and_load.ipynb | แยกโมเดล GGUF Quantized ออกเป็นหลายส่วน ทำให้แชร์ได้ง่าย | ลิงค์ |
8_hqq_quantization.ipynb | สำรวจการหาปริมาณโดยใช้ Half-Quadratic Quantization (HQQ) | ลิงค์ |
9_inference_big_model_cpu_plus_gpu.ipynb | สมุดบันทึกนี้แสดงวิธีคำนวณ RAM ที่ต้องการสำหรับโมเดล GGUF เชิงปริมาณ และวิธีการโหลดลงในหน่วยความจำโดยใช้ทั้ง RAM และ VRAM โดยปรับจำนวนเลเยอร์ที่สามารถออฟโหลดไปยัง GPU ได้อย่างเหมาะสม โน้ตบุ๊กสาธิตการโหลด Qwen/Qwen1.5-32B-Chat-GGUF เป็นตัวอย่างบนระบบที่มี T4 15GB VRAM และ RAM ประมาณ 32GB | ลิงค์ |
a10_inference_llama3.ipynb | LLama3 ได้รับการเผยแพร่แล้ว สมุดบันทึกนี้สาธิตวิธีการรัน LLama3-8B- สอน half precision หากคุณมีสิทธิ์เข้าถึง GPU ที่มี VRAM ขนาด 24GB, ปริมาณเป็น 8 บิต หากคุณมี VRAM ขนาด 10GB และแสดงวิธีการรันเวอร์ชัน Q8 GGUF เพื่อให้ได้ประสิทธิภาพสูงสุดหาก คุณมี VRAM เพียง 10GB | ลิงค์ |
a11_llm_guardrails_using_llama3_guard.ipynb | ปกป้องแบ็กเอนด์และแอปพลิเคชัน AI ทั่วไปของคุณโดยใช้ LLama3-guard-2 ในสมุดบันทึกนี้ ฉันจะแสดงวิธีตั้งค่าเซิร์ฟเวอร์โดยใช้ VRAM ขนาด 10GB และวิธีการอนุมานผ่านคำขอ HTTP POST | ลิงค์ |
a12_speculative_decoding.ipynb | สมุดบันทึกจะอธิบายและสาธิตเทคนิค 'การถอดรหัสแบบเก็งกำไร' ในทางปฏิบัติเพื่อเพิ่มโทเค็น/วินาทีที่สร้างโดยแบบจำลองเป้าหมายผ่านการใช้แบบจำลองร่างที่เล็กกว่าและเบากว่า ตัวอย่างที่เกิดขึ้นใน LLama-3-70B-Instruct (เป้าหมาย) และ LLama-3-8B-Instruct (ร่าง) | ลิงค์ |
a13_inference_vision_llm.ipynb | สมุดบันทึกสาธิตวิธีการอนุมานอย่างง่ายโดยใช้ Vision LLM ตัวอย่างเช่น ฉันเลือก Phi-3-vision-128k-instruct ที่เพิ่งเปิดตัวใหม่ของ Microsoft โมเดลนี้ได้รับอนุญาตจาก MIT ดังนั้นจึงสามารถใช้ในแอปพลิเคชันของคุณเองได้โดยไม่มีข้อจำกัดใดๆ โมเดลนี้สามารถทำงานบน Nvidia L4 หนึ่งตัว | ลิงค์ |
a14_llm_as_evaluator.ipynb | สมุดบันทึกสาธิตวิธีใช้ LLM เป็นผู้พิพากษาโดยใช้ Prometheus 2 ในสมุดบันทึกจะแสดงวิธีประเมินคำตอบที่ส่งคืนจาก LLM หรือไปป์ไลน์แอปพลิเคชันของเรา | ลิงค์ |
a15_llm_evalue.ipynb | สมุดบันทึกสาธิตวิธีใช้ EleutherAI/lm-evalue-harness เพื่อประเมิน LLM บนเกณฑ์มาตรฐานทั่วไปที่ใช้ในกระดานผู้นำอย่างเป็นทางการด้วย กระบวนการนี้จะเหมือนกับที่ใช้โดยอัตโนมัติเมื่อคุณส่งโมเดลไปยังลีดเดอร์บอร์ด | ลิงค์ |
a16_synthetic_data_generation.ipynb | ในสมุดบันทึกนี้ ฉันได้สร้างคลาสที่กำหนดเองสำหรับการสร้างชุดข้อมูล QA สังเคราะห์จากไฟล์อินพุตโดยใช้ Llama-3-8B เป็น LLM สคริปต์ยังสาธิตวิธีการสร้างและเรียกใช้ llama-server เวอร์ชันใหม่บน llama-3-8b-Q_8 GGUF | ลิงค์ |
a17_sglan_serving_llm_multiusers.ipynb | ในสมุดบันทึกนี้ ฉันแสดงขั้นตอนทั้งหมดเกี่ยวกับวิธีการปรับใช้ LLama3.1-8B-FP8 อย่างมีประสิทธิภาพบนเซิร์ฟเวอร์แบบกำหนดเองโดยใช้ SGLang และให้บริการผู้ใช้ที่อาจใช้งานแบบขนาน 64 รายในขณะที่ยังคงประสิทธิภาพที่ดีไว้ | ลิงค์ |
a18_jailbreak_control_using_promptguard.ipynb | ลองใช้ PromptGuard-86M ใหม่สำหรับการเจลเบรค สปอยเลอร์: โมเดลดูเหมือนพังหรือแย่มากในขณะนี้ | ลิงค์ |
a19_document_information_and_table_extraction.ipynb | สมุดบันทึกนี้สาธิตวิธีใช้แบบจำลองความรู้หลายรูปแบบ (Kosmos 2.5) เพื่อแยกข้อความและตารางอย่างถูกต้องและมีประสิทธิภาพโดยไม่ต้องใช้บริการคลาวด์แบบชำระเงิน โมเดลนี้ทำงานบน GPU ส่วนตัวของคุณ ทำให้ข้อมูลของคุณเป็นส่วนตัวและปลอดภัย | ลิงค์ |
a20_finetuning_llm_unsloth.ipynb | สมุดบันทึกนี้แสดงวิธีปรับแต่ง Phi-3.5-mini-instruct โดยใช้ unsloth บนชุดข้อมูล HF ของโครงสร้าง 'การคิด' | ลิงค์ |
หากต้องการแหล่งข้อมูลเพิ่มเติมและการสนับสนุน โปรดติดต่อชุมชนหรืออ้างอิงถึงสิ่งต่อไปนี้:
มีความสุขในการเรียนรู้และทดลองกับ LLM!