ฟอร์คจาก https://github.com/mallorbc/gptneox20b_huggingface รันการอนุมานสำหรับ GPT NEOX 20B และ OPT-30B
เป็นการดีที่คุณมี GPU หนึ่งตัวขึ้นไปที่รวม 48GB ของ VRAM ขึ้นไป
อย่างไรก็ตามแม้ว่าคุณจะไม่สามารถเรียกใช้โมเดลได้ แต่ก็จะใช้เวลานานกว่านี้
ตัวอย่างเช่นการทำงานกับหนึ่ง 3090 มากกว่าสองจะใช้เวลาประมาณ 10 นาทีในการสร้างโทเค็น 100 เทียบกับ 10-30 วินาทีถ้าคุณวิ่งหนึ่ง GPU สองตัว
หากคุณมี VRAM ไม่เพียงพอคุณต้องแน่ใจว่าคุณมี RAM เพียงพอที่จะทำมัน
หากคุณต้องการดาวน์โหลดน้ำหนักในแบบที่ฉันทำคุณต้องใช้ VRAM อย่างน้อย 50GB สำหรับน้ำหนัก Float16 หรือ Bfloat16 หากคุณต้องการใช้ BFLOAT16 คุณต้องแน่ใจว่า CPU และ GPU ของคุณรองรับ
ต้องใช้ GPU หนึ่งตัวขึ้นไปที่รวมใน 70GB ของ VRAM หรือมากกว่า เช่นเดียวกับ GPT-neox รุ่นจะยังคงพอดีกับ CPU แต่ OptDecoderlayer ช้าอย่างเจ็บปวดโดยใช้การอนุมาน CPU
pip3 install -r requirements.txt
python3 main.py # for GPT NeoX 20B
# or alternatively
python3 main_opt.py # for OPT-30B
มีสองธงแต่ละอันสามารถเห็นได้ด้วย -h
ใช้ --fp16 Flag เพื่อโหลดและบันทึกน้ำหนักในโหมด Float16
ใช้ธง --bf16 เพื่อโหลดและบันทึกน้ำหนักในโหมด BFLOAT16
ใช้ bfloat16 เมื่อคุณทำได้ดีกว่า
เมื่อทำงานแบบจำลองจะถูกคัดเลือกให้ Bfloat16 เสมอเว้นแต่ว่า GPU/CPU ของคุณจะไม่สามารถจัดการได้ คุณอาจต้องการพฤติกรรมที่แตกต่าง