วิดีโอมากกว่า 18 ชั่วโมงพาคุณไปตลอดทางจาก Vaes ไปสู่การแพร่กระจายที่มั่นคงแบบเรียลไทม์ด้วย pytorch และกอดใบหน้า ... พร้อมตัวอย่างมากมายเพื่อทำให้การเรียนรู้ลึกซึ้งอีกครั้ง!
พื้นที่เก็บข้อมูลนี้มีรหัสสไลด์และตัวอย่างจากหลักสูตรวิดีโอ AI การเขียนโปรแกรมของฉัน
การเขียนโปรแกรม Generative AI เป็นทัวร์ของการสร้างแบบจำลองการกำเนิดที่ลึกซึ้งนำคุณจากการสร้างเครือข่ายระบบประสาทที่ทำจาก Feed Forward ใน Pytorch ไปตลอดทางจนถึงการทำงานกับโมเดลขนาดใหญ่หลายรูปแบบที่สามารถเข้าใจทั้งข้อความและรูปภาพ ระหว่างทางคุณจะได้เรียนรู้วิธีการฝึกอบรมแบบจำลองการกำเนิดของคุณเองตั้งแต่เริ่มต้นเพื่อสร้างภาพที่ไม่มีที่สิ้นสุดของภาพสร้างข้อความด้วยโมเดลภาษาขนาดใหญ่ (LLMs) คล้ายกับแอพพลิเคชั่นที่ให้พลังเช่น CHATGPT เขียนไปป์ไลน์ข้อความของคุณเอง
รหัสสไลด์และแบบฝึกหัดในที่เก็บนี้มี (และจะเป็น) ได้อย่างอิสระ สามารถซื้อวิดีโอที่เกี่ยวข้องได้ใน:
วิธีที่ง่ายที่สุดในการเริ่มต้น (วิดีโอหรือไม่) คือการใช้สภาพแวดล้อม/แพลตฟอร์มโน๊ตบุ๊คคลาวด์เช่น Google Colab (หรือ Kaggle, Paperspace ฯลฯ ) เพื่อความสะดวกฉันได้ให้ลิงก์ไปยังสมุดบันทึก Jupyter ดิบสำหรับการพัฒนาในท้องถิ่นลิงก์ NBViewer หากคุณต้องการเรียกดูรหัสโดยไม่โคลน repo (หรือคุณสามารถใช้ตัวชม GitHub ในตัว) และลิงค์ colab หากคุณต้องการใช้งานรหัส
| สมุดบันทึก | สไลด์ | nbviewer (คงที่) | Google Colab (อินเทอร์แอคทีฟ) |
|---|---|---|---|
| บทที่ 1: อะไรทำไมและวิธีการกำเนิด AI | |||
| บทที่ 2: Pytorch สำหรับความใจร้อน | |||
| บทที่ 3: อวกาศแฝงกฎทุกอย่างรอบตัวฉัน | |||
| บทที่ 4: การแพร่กระจาย demystifying | |||
| บทที่ 5: การสร้างและเข้ารหัสข้อความด้วยหม้อแปลง | |||
| บทที่ 6: การเชื่อมต่อข้อความและรูปภาพ | |||
| บทที่ 7: ขั้นตอนการฝึกอบรมหลังการแพร่กระจาย |
หากคุณพบข้อผิดพลาดใด ๆ ในรหัสหรือวัสดุโปรดเปิดปัญหา GitHub หรืออีเมล [email protected]
git clone https://github.com/jonathandinu/programming-generative-ai.git
cd programming-generative-aiรหัสที่ใช้งานและทดสอบด้วย Python 3.10.12 (เวอร์ชันอื่น ๆ > = 3.8 มีแนวโน้มที่จะทำงานได้ดี แต่ผู้ซื้อระวัง ... ) ในการติดตั้งแพ็คเกจทั้งหมดที่ใช้ในสมุดบันทึกในสภาพแวดล้อมเสมือนจริงในท้องถิ่น:
# pyenv install 3.10.12
python --version
# => Python 3.10.12
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt หากใช้ pyenv เพื่อจัดการเวอร์ชัน Python pyenv ควรใช้เวอร์ชันที่แสดงใน .python-version โดยอัตโนมัติเมื่อเปลี่ยนเป็นไดเรกทอรีนี้
นอกจากนี้โน้ตบุ๊กจะถูกตั้งค่าด้วยเซลล์เพื่อเลือกอุปกรณ์ที่เหมาะสม (GPU) โดยอัตโนมัติตามสิ่งที่มีอยู่ หากอยู่ในเครื่อง Windows หรือ Linux ทั้ง Nvidia และ AMD GPU ควรใช้งานได้ (แม้ว่าจะได้รับการทดสอบกับ Nvidia เท่านั้น) และถ้าบนแอปเปิ้ลซิลิคอนแม็คจะใช้เฉดสีโลหะ
import torch
# default device boilerplate
device = (
"cuda" # Device for NVIDIA or AMD GPUs
if torch . cuda . is_available ()
else "mps" # Device for Apple Silicon (Metal Performance Shaders)
if torch . backends . mps . is_available ()
else "cpu"
)
print ( f"Using { device } device" )หากไม่พบอุปกรณ์ที่เข้ากันได้รหัสจะเริ่มต้นเป็นแบ็กเอนด์ CPU สิ่งนี้น่าจะดีสำหรับบทเรียนที่ 1 และ 2 แต่สำหรับตัวอย่างการสร้างภาพใด ๆ (ทุกอย่างค่อนข้างมากหลังจากบทเรียนที่ 2) การไม่ใช้ GPU จะช้าลงอย่างไม่สบายใจ - ในกรณีนั้นฉันขอแนะนำให้ใช้ลิงก์ Google colab ในตารางด้านบน
ระดับกลางถึงขั้นสูง
บทที่ 1 เริ่มต้นด้วยการแนะนำสิ่งที่ AI กำเนิดคืออะไรจริง ๆ อย่างน้อยก็เกี่ยวข้องกับหลักสูตรนี้ก่อนที่จะย้ายเข้าสู่ข้อมูลเฉพาะของการสร้างแบบจำลองการกำเนิดลึก มันครอบคลุมความหลากหลายของโมเดลหลายรูปแบบที่เป็นไปได้ (ในแง่ของการป้อนข้อมูลและการส่งออก) และวิธีที่เป็นไปได้สำหรับอัลกอริทึมที่จะสร้างสื่อที่หลากหลายที่ดูเหมือนจะออกมาจากอากาศบาง ๆ บทเรียนจบลงด้วยการทำให้เป็นทางการและทฤษฎีของแบบจำลองการกำเนิดลึกและการแลกเปลี่ยนระหว่างสถาปัตยกรรมแบบจำลองการสร้างแบบจำลองประเภทต่างๆ
บทที่ 2 เริ่มต้นด้วยการแนะนำกรอบการเรียนรู้และการเรียนรู้อย่างลึกซึ้งโดยทั่วไป ฉันแสดงให้คุณเห็นว่าการรวมกันของความแตกต่างอัตโนมัติและการคำนวณที่โปร่งใสบน GPU ได้เปิดใช้งานการระเบิดของการวิจัยและแอพพลิเคชั่นการเรียนรู้อย่างลึกซึ้งในปัจจุบัน ต่อไปฉันจะแสดงให้คุณเห็นว่าคุณสามารถใช้ Pytorch เพื่อนำไปใช้และเรียนรู้โมเดลการถดถอยเชิงเส้นได้อย่างไร - เป็นหินก้าวเพื่อสร้างเครือข่ายประสาทที่ซับซ้อนมากขึ้น ในที่สุดบทเรียนก็ปิดตัวลงโดยการรวมส่วนประกอบทั้งหมดที่ Pytorch มอบให้เพื่อสร้าง Perceptron หลายชั้นแบบฟีดไปข้างหน้าอย่างง่าย
บทที่ 3 เริ่มต้นด้วยไพรเมอร์เกี่ยวกับวิธีการที่โปรแกรมคอมพิวเตอร์แสดงภาพเป็นเทนเซอร์ของตัวเลข ฉันครอบคลุมรายละเอียดของเครือข่ายประสาทเทียมและคุณสมบัติทางสถาปัตยกรรมเฉพาะที่ช่วยให้คอมพิวเตอร์“ ดู” ถัดไปคุณจะได้รับรสชาติแรกของรุ่นแฝงตัวแปรโดยการสร้างและฝึกอบรมอัตโนมัติแบบง่าย ๆ เพื่อเรียนรู้การแสดงภาพอินพุตที่บีบอัด ในตอนท้ายของบทเรียนคุณจะได้พบกับแบบจำลองการกำเนิดที่เหมาะสมครั้งแรกของคุณโดยการเพิ่มการสุ่มตัวอย่างความน่าจะเป็นในสถาปัตยกรรมอัตโนมัติเพื่อมาถึง Variational Autoencoder (VAE) - องค์ประกอบสำคัญในรุ่น Generative ในอนาคตที่เราจะพบ
บทเรียนที่ 4 เริ่มต้นด้วยการแนะนำแนวคิดเกี่ยวกับแบบจำลองการแพร่กระจายซึ่งเป็นองค์ประกอบสำคัญในสถานะปัจจุบันของระบบข้อความเป็นภาพต่อภาพเช่นการแพร่กระจายที่มั่นคง บทที่ 4 เป็นการแนะนำครั้งแรกของคุณเกี่ยวกับระบบนิเวศใบหน้ากอดของห้องสมุดโอเพนซอร์สซึ่งคุณจะเห็นว่าเราสามารถใช้ไลบรารี diffusers เพื่อสร้างภาพจากเสียงสุ่มได้อย่างไร จากนั้นบทเรียนจะค่อยๆลอกเลเยอร์กลับไปที่ห้องสมุดเพื่อแยกแยะกระบวนการแพร่กระจายและแสดงให้คุณเห็นว่าการแพร่กระจายของท่อส่งผ่านจริงอย่างไร ในที่สุดคุณเรียนรู้วิธีการใช้ประโยชน์จากการจ่ายเงินที่เป็นเอกลักษณ์ของกระบวนการ denoising ซ้ำ ๆ ของรูปแบบการแพร่กระจายเพื่อแทรกระหว่างภาพทำการแปลภาพกับภาพและแม้กระทั่งการกู้คืนและปรับปรุงภาพ
เช่นเดียวกับบทที่ 4 เป็นเรื่องเกี่ยวกับภาพบทที่ 5 เป็นเรื่องเกี่ยวกับข้อความ มันเริ่มต้นด้วยการแนะนำแนวคิดเกี่ยวกับการประมวลผลภาษาธรรมชาติรวมถึงการแนะนำรูปแบบความน่าจะเป็นของภาษา จากนั้นคุณได้เรียนรู้วิธีที่คุณสามารถแปลงข้อความให้เป็นตัวแทนที่เข้าใจได้ง่ายขึ้นโดยแบบจำลองการกำเนิดและสำรวจยูทิลิตี้ที่กว้างขึ้นของการแสดงคำเป็นเวกเตอร์ บทเรียนจบลงด้วยการรักษาสถาปัตยกรรมของหม้อแปลงซึ่งคุณจะเห็นว่าคุณสามารถใช้ไลบรารี Transformers Hugging Face เพื่อทำการอนุมานกับแบบจำลองภาษาขนาดใหญ่ที่ผ่านการฝึกอบรมมาก่อน (LLMs) เพื่อสร้างข้อความตั้งแต่เริ่มต้น
บทที่ 6 เริ่มต้นด้วยการแนะนำแนวคิดเกี่ยวกับโมเดลหลายรูปแบบและส่วนประกอบที่จำเป็นที่จำเป็น คุณจะเห็นว่าภาพภาษาที่แตกต่างกันก่อนการฝึกอบรมร่วมกันเรียนรู้รูปแบบที่ใช้ร่วมกันของรูปภาพและข้อความและเรียนรู้วิธีการใช้พื้นที่แฝงที่ใช้ร่วมกันเพื่อสร้างเครื่องมือค้นหาภาพความหมาย บทเรียนจบลงด้วยภาพรวมแนวคิดของแบบจำลองการแพร่กระจายแฝงก่อนที่จะแยกแยะท่อส่งการแพร่กระจายที่เสถียรเพื่อดูว่าระบบข้อความกับภาพสามารถเปลี่ยนผู้ใช้ให้พร้อมกับภาพที่ไม่เคยเห็นมาก่อนได้อย่างไร
บทที่ 7 คือทั้งหมดที่เกี่ยวกับการปรับตัวและเพิ่มโมเดลหลายรูปแบบที่ผ่านการฝึกอบรมมาก่อน มันเริ่มต้นด้วยทางโลกมากขึ้น แต่สำคัญมากคืองานประเมินแบบจำลองการกำเนิดก่อนที่จะย้ายไปยังวิธีการและเทคนิคสำหรับการปรับค่าพารามิเตอร์ที่มีประสิทธิภาพ จากนั้นคุณเรียนรู้วิธีการสอนแบบจำลองข้อความเป็นภาพรวมที่ผ่านการฝึกอบรมมาแล้วเช่นการแพร่กระจายที่มั่นคงเกี่ยวกับรูปแบบใหม่วิชาและการปรับสภาพ บทเรียนจบด้วยเทคนิคที่จะทำให้การแพร่กระจายมีประสิทธิภาพมากขึ้นในการเข้าใกล้การสร้างภาพแบบเรียลไทม์
©️ 2024 Jonathan Dinu สงวนลิขสิทธิ์ การลบประกาศลิขสิทธิ์หรือการทำซ้ำในบางส่วนหรือทั้งหมดของข้อความรูปภาพและ/หรือรหัสเป็นสิ่งต้องห้ามโดยชัดแจ้ง
สำหรับการอนุญาตให้ใช้เนื้อหาในงานนำเสนอของคุณเอง (โพสต์บล็อกการบรรยายวิดีโอหลักสูตร ฯลฯ ) กรุณาติดต่อ [email protected]