1 คะแนน โดย GN⁺ 2023-12-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • PowerInfer เป็นเอนจินอนุมานแบบไฮบริด CPU/GPU สำหรับเสิร์ฟ LLM แบบโลคัลบนพีซีส่วนบุคคลที่ติดตั้ง GPU สำหรับผู้บริโภค เพียงตัวเดียว
  • การออกแบบหลักใช้ประโยชน์จาก locality ของการกระตุ้น ในการอนุมาน LLM โดยนำ hot neuron ที่ถูกกระตุ้นบ่อยขึ้นไปไว้บน GPU ล่วงหน้า และคำนวณ cold neuron ที่เปลี่ยนไปตามอินพุตบน CPU
  • ในการประเมิน PowerInfer ระบุว่าสามารถทำได้เฉลี่ย 13.20 tokens/s และสูงสุด 29.08 tokens/s บน RTX 4090 แบบ GPU เดี่ยวกับ LLM หลายตัวรวมถึง OPT-175B ซึ่งต่ำกว่า A100 อยู่ 18%
  • เมื่อเทียบกับ llama.cpp พบว่าในเดโม Falcon(ReLU)-40B-FP16 บน RTX 4090 24GB ได้ เร็วขึ้น 11x และในการประเมินได้สูงสุด 11.69x โดยอธิบายว่ายังคงความแม่นยำของโมเดลไว้
  • ขอบเขตการรองรับเน้นโมเดลที่ใช้ฟังก์ชันกระตุ้น ReLU/ReGLU/Squared ReLU และมีข้อจำกัดว่ายังไม่รองรับ Mistral, original Llama, Qwen เป็นต้น

ปัญหาที่ PowerInfer พยายามแก้

  • PowerInfer เป็นเอนจินอนุมาน CPU/GPU สำหรับรัน LLM บนอุปกรณ์โลคัลอย่างรวดเร็ว
  • มุ่งเป้าไปที่พีซีที่ติดตั้ง GPU สำหรับผู้บริโภคเพียงตัวเดียว และมีเป้าหมายเพื่อการอนุมานและการเสิร์ฟ LLM ที่มี latency ต่ำ
  • หัวใจของการออกแบบคือการที่การกระตุ้น neuron ในการอนุมาน LLM มีลักษณะเป็น การกระจายแบบกฎกำลัง
    • hot neuron บางส่วนจะถูกกระตุ้นอย่างสม่ำเสมอในอินพุตโดยรวม
    • cold neuron จำนวนมากจะแตกต่างกันไปตามอินพุตเฉพาะ

วิธีอนุมานแบบไฮบริด CPU/GPU

  • PowerInfer จะโหลด hot neuron ไว้บน GPU ล่วงหน้าเพื่อให้เข้าถึงได้รวดเร็ว และคำนวณ cold neuron บน CPU
  • วิธีนี้มุ่งลดความต้องการหน่วยความจำ GPU และการรับส่งข้อมูลระหว่าง CPU-GPU
  • นอกจากนี้ยังรวม predictor แบบปรับตัวได้ และ sparse operator ที่รับรู้ระดับ neuron เพื่อเพิ่มประสิทธิภาพการกระตุ้น neuron และความกระจัดกระจายของการคำนวณ
  • ในการอนุมานแบบไฮบริด CPU-GPU จะ offload dense activation block ทั้งหมดไปยัง GPU โดยอัตโนมัติ แล้วจะแยก FFN เพื่อ offload ไปยัง GPU หากเป็นไปได้

การประเมินประสิทธิภาพและเดโม

  • บน RTX 4090 แบบ GPU เดี่ยว สามารถทำได้เฉลี่ย 13.20 tokens/s และสูงสุด 29.08 tokens/s กับ LLM หลายตัวรวมถึง OPT-175B
  • อธิบายว่าผลลัพธ์นี้ต่ำกว่า GPU ระดับเซิร์ฟเวอร์ชั้นนำอย่าง A100 อยู่ 18%
  • เร็วกว่า llama.cpp สูงสุด 11.69x และระบุว่ายังคงความแม่นยำของโมเดลไว้
  • ในเดโม ได้รัน Falcon(ReLU)-40B-FP16 บน RTX 4090 24GB เพียงตัวเดียว และแสดงความเร็วที่สูงกว่า llama.cpp 11x
    • ทั้ง PowerInfer และ llama.cpp รันบนฮาร์ดแวร์เดียวกัน และใช้ VRAM ของ RTX 4090 จนเต็ม
  • ในการประเมินแยก ภายใต้เงื่อนไข RTX 4090 24GB, โมเดล FP16 ReLU, ความยาวอินพุต 64 พบว่า Falcon 40B เร็วขึ้นสูงสุด 11x และ Llama 2 70B เร็วขึ้นสูงสุด 3x
  • บน RTX 2080Ti 11GB กับโมเดล INT4 ReLU และความยาวอินพุต 8 พบว่า Falcon 40B เร็วขึ้นสูงสุด 8x และ Llama 2 70B เร็วขึ้นสูงสุด 3x

โมเดลและแพลตฟอร์มที่รองรับ

  • ปัจจุบันโมเดลที่ใช้งานได้กับ PowerInfer คือ Falcon-40B, Llama2 family, ProSparse Llama2 family และ Bamboo-7B
  • น้ำหนักโมเดลที่รองรับถูกแจกจ่ายในรูปแบบ PowerInfer GGUF ซึ่งเป็นฐาน GGUF ที่รวมทั้งน้ำหนัก LLM และน้ำหนัก predictor ไว้ด้วยกัน
  • โมเดล PowerInfer GGUF ที่มีให้บน Hugging Face ได้แก่
  • แพลตฟอร์มที่ทดสอบแล้วมีดังนี้
    • CPU x86-64 ที่รองรับ AVX2 บน Linux ทั้งกรณีมีและไม่มี NVIDIA GPU
    • CPU x86-64 ที่รองรับ AVX2 บน Windows ทั้งกรณีมีและไม่มี NVIDIA GPU
    • สภาพแวดล้อม CPU-only ของ Apple M chip บน macOS
  • ระบุว่า Mac ไม่ใช่เป้าหมายการเพิ่มประสิทธิภาพในตอนนี้ จึงยังไม่ได้ปรับปรุงประสิทธิภาพมากนัก
  • มีแผนเพิ่ม Metal backend สำหรับ sparse inference บน macOS

ขั้นตอนการติดตั้งและการรัน

  • dependency สำหรับการ build คือ CMake 3.17 ขึ้นไป, Python 3.8 ขึ้นไป และ pip 19.3 ขึ้นไป
  • การ build สำหรับ NVIDIA GPU ใช้ตัวเลือก -DLLAMA_CUBLAS=ON
  • การ build สำหรับ AMD GPU ใช้ ROCm/HIP และระบุ -DLLAMA_HIPBLAS=ON พร้อม AMDGPU_TARGETS
  • สามารถ build แบบ CPU-only ได้เช่นกัน
  • คำสั่งอนุมานพื้นฐานใช้ executable main โดยระบุพาธโมเดล จำนวนโทเค็นเอาต์พุต จำนวนเธรด และพรอมป์ต์
  • จำกัดการใช้ GPU VRAM ได้ด้วยตัวเลือก --vram-budget
  • คำสั่งสำหรับ serving, perplexity evaluation และ batched generation ของ PowerInfer รองรับรูปแบบเดียวกับ llama.cpp แต่อาร์กิวเมนต์ -ngl ใน PowerInfer ถูกแทนที่ด้วย --vram-budget

การควอนไทซ์และความเข้ากันได้

  • PowerInfer รองรับการปรับแต่งประสิทธิภาพสำหรับการควอนไทซ์โมเดล INT4 Q4_0
  • สามารถใช้ executable quantize เพื่อควอนไทซ์โมเดล PowerInfer GGUF ให้อยู่ในรูปแบบ Q4_0
  • dense inference mode รองรับแบบจำกัด และใช้งานได้ในลักษณะคล้ายกับ llama.cpp
  • dense inference mode ไม่ใช่โหมดเข้ากันได้สำหรับทุกโมเดล
    • โมเดล ReluLLaMA และ ProSparse มีการเปลี่ยนฟังก์ชันกระตุ้น
    • โมเดล Bamboo มีการเปลี่ยนสถาปัตยกรรมของโมเดล
  • สามารถรันด้วยน้ำหนักโมเดลของ llama.cpp เพื่อความเข้ากันได้ในการอนุมานได้เช่นกัน แต่ระบุว่าจะไม่มีประสิทธิภาพเพิ่มขึ้น

ข้อจำกัดและ FAQ

  • ปัจจุบันโมเดลที่รองรับถูกจำกัดอยู่ที่โมเดลที่ใช้ฟังก์ชันกระตุ้น ReLU/ReGLU/Squared ReLU
  • ขณะนี้ยังไม่รองรับ Mistral, original Llama, Qwen เป็นต้น
  • หากเกิด CUDA_ERROR_OUT_OF_MEMORY สามารถสร้างดัชนี GPU ใหม่ได้ด้วย --reset-gpu-index
  • ใน implementation ปัจจุบัน การ offload โมเดลอาจไม่แม่นยำอย่างที่คาดไว้ จึงอาจต้องลดค่า --vram-budget ลงเล็กน้อย หรือปิดการ offload FFN ด้วย --disable-gpu-index
  • อธิบายว่าการลดลงของตัวชี้วัดประสิทธิภาพในโมเดล ReLU ปัจจุบัน โดยเฉพาะโมเดล 70B เป็นเพราะ fine-tune ด้วยเพียง 5B โทเค็น แทนที่จะเป็นประมาณ 2T โทเค็นที่โดยทั่วไปต้องใช้ในการฝึก LLM

อัปเดตล่าสุดและแผนงาน

  • เมื่อวันที่ 5 มกราคม 2026 ได้เปิดตัว Tiiny AI Pocket Lab และระบุว่าสามารถรัน GPT-OSS-120B int4 แบบโลคัลที่ความเร็ว 20 tokens/s
  • เมื่อวันที่ 27 กรกฎาคม 2025 ได้เปิดตัว SmallThinker-21BA3B-Instruct และ SmallThinker-4BA0.6B-Instruct
  • เมื่อวันที่ 11 มิถุนายน 2024 ได้แนะนำเฟรมเวิร์กอนุมานที่ปรับให้เหมาะกับสมาร์ตโฟน PowerInfer-2 และระบุว่าทำได้ 11.68 tokens/s บน TurboSparse-Mixtral-47B
  • ในวันเดียวกัน ได้เผยแพร่ Turbo Sparse และอธิบายว่าสามารถทำให้โมเดล Mistral และ Mixtral มีความกระจัดกระจายประมาณ 90% และเปิดใช้งานเพียง 4B พารามิเตอร์ในโมเดลระดับ Mixtral
  • รายการที่เสร็จแล้วประกอบด้วยการเปิดเผยโค้ดหลักของ PowerInfer, รองรับ Llama-2 และ Falcon-40B, รองรับ Bamboo-7B, รองรับ Windows, เปิดเผยโค้ดสำหรับ perplexity evaluation และรองรับการแบ่ง FFN แบบออนไลน์
  • รายการที่ยังเหลือประกอบด้วยการรองรับ text-generation-webui, การรองรับ Metal บน Mac, การเปิดเผยโค้ดสำหรับ OPT model, การเปิดเผยโค้ดสำหรับ predictor training และการรองรับ Multi-GPU

เอกสารวิจัยและโครงการฐาน

  • รายละเอียดทางเทคนิคเพิ่มเติมสรุปไว้ใน บทความวิจัย PowerInfer
  • PowerInfer ใช้ไลบรารี operator ที่ปรับแก้ได้ของ ggml และ runtime execution ของ llama.cpp
  • การรองรับ sparse model ที่อิง ReLU มีการกล่าวถึง THUNLP
  • PowerInfer ระบุว่าได้รับแรงบันดาลใจจากงานวิจัย Deja Vu

1 ความคิดเห็น

 
GN⁺ 2023-12-21
ความคิดเห็นจาก Hacker News
  • ในแมชชีนเลิร์นนิงส่วนใหญ่ไม่มีแนวคิดเรื่อง hot/cold neurons เลยต้องใช้เวลาทำความเข้าใจอยู่บ้าง และดูเหมือนบทความวิจัยก็ไม่ได้ให้นิยามไว้โดยตรง
    สำหรับ ReLU ถ้าเอาต์พุตเป็น 0 บ่อย ๆ ก็ถือว่า “cold” ได้ จึงฟังดูสมเหตุสมผล แต่เดิมที LLaMA ไม่ได้ใช้ ReLU พอกลับไปดู GitHub อีกครั้ง วิธีนี้ทำงานจริงเฉพาะกับ โมเดล ReLU เท่านั้น และมีกลุ่มที่ “fine-tune” โมเดลให้เป็น ReLU เพื่อให้ได้ sparsity: https://huggingface.co/SparseLLM
    ดังนั้นจึงใช้ไม่ได้กับโมเดลอะไรก็ได้ที่มักหาเจอบนอินเทอร์เน็ต แต่ความคืบหน้านี้เองก็ดูใหญ่ทีเดียว ต่อไปอาจขยับไปสู่การประนีประนอมระหว่างโมเดลที่ใหญ่ขึ้นกับ activation function ที่ไม่เหมาะนัก และก็สงสัยด้วยว่ากฎระเบียบของสหรัฐฯ/สหภาพยุโรปจะนับ sparsity อย่างไรเมื่อใช้ FLOPs หรือจำนวนพารามิเตอร์เป็นเกณฑ์
    งานวิจัยในอนาคตดูเป็นไปได้ในทิศทางที่ยังคง activation function เดิมอย่าง SwiGLU ของ LLaMA ไว้ แต่ใช้ quantization เพื่อกำหนดบริเวณอิ่มตัวให้เป็น hot/cold neurons

    • สงสัยว่ากฎระเบียบแบบนี้เกิดขึ้นเมื่อไรและอย่างไร รู้สึกค่อนข้างแปลกที่ต้องกังวลถึง กฎระเบียบเรื่อง FLOPs/จำนวนพารามิเตอร์ ระหว่างพัฒนา
    • การที่ README ซึ่งอ้างว่าเข้ากันได้กับ LLaMA กลับละเว้นเงื่อนไขสำคัญว่า ใช้ได้เฉพาะโมเดล ReLU นี่เป็นปัญหาค่อนข้างใหญ่
    • ที่ https://huggingface.co/SparseLLM/ReluFalcon-40B ก็เขียนว่า “We utilize PowerInfer for inference” เช่นกัน
  • ถ้ารัน Mixtral แบบปลดการเซ็นเซอร์ด้วยสิ่งนี้ได้คงดีมาก บน RTX 4090 อาจทำ quantization เกิน 3 บิตได้ด้วย

    • สงสัยว่าทำไมถึงโดนโหวตลบ เพราะ LLM แบบปลดเซ็นเซอร์มักทำผลงานได้ดีกว่าเวอร์ชันที่ถูก “lobotomize” หรือ align แล้ว อย่างน้อยก็ใน benchmark
    • ในเดโมรันโมเดลที่ใหญ่กว่าบน RTX 4090 VRAM 24GB การทำ sparse activation กับ Mixture of Experts อาจไม่ง่าย แต่ดูเป็นแนวทางที่ยอดเยี่ยมซึ่งอาจทำให้ประมวลผลด้วย CPU ล้วน หรือใช้ GPU ที่ถูกกว่ามากได้
      ในเชิงเทคนิค Mixtral ก็มี sparse activation ที่ควบคุมด้วยโครงข่ายประสาทอยู่แล้ว แต่เหมือนมีม Inception คือต้อง “ลงไปลึกกว่านี้”
    • dual GPU น่าจะถือเป็นคอนฟิกระดับผู้บริโภคทั่วไปได้ และหวังว่าจะรองรับเร็ว ๆ นี้ ที่ 4 บิต น่าจะใส่พื้นที่ context ได้เหลือเฟือด้วย
      ทั้งหมดนี้เป็น fork ของ llama.cpp เลยหวังว่าสักวันจะถูก merge กลับเข้า upstream project
    • ดูดีเลย: https://www.youtube.com/watch?v=q2KpPUOsBCs
  • เห็นว่ากำลังทำ Mistral-7B อยู่ ส่วน implementation ของ Mistral สำหรับ GPU ของผมใช้ VRAM มากกว่า 5GB นิดหน่อย: https://github.com/Const-me/Cgml
    รันได้ค่อนข้างดีบน GPU ระดับผู้บริโภคส่วนใหญ่ แต่ตอนนี้รองรับเฉพาะ Windows

    • ดูน่าสนใจทีเดียว สงสัยว่าจะรันบนโน้ตบุ๊ก Intel Core i7 ได้ไหม
    • ลองใช้ ollama ได้ ใช้ llmcpp และต้องการประมาณ 4GB เท่านั้น
  • เจ๋งจริง ๆ แม้ llama.cpp จะได้รับความรักมาก แต่แนวทาง offloading ไปยัง GPU แยกของมันค่อนข้างเรียบง่าย คือประมวลผล prompt บน GPU แล้วแบ่งโมเดลตรงกลาง
    ที่น่าสนใจคือ activation sparsity มีมากพอให้ใช้ประโยชน์ได้ และจากมุมมองแมชชีนเลิร์นนิงแบบดั้งเดิม มักมองว่าการเข้าถึงหน่วยความจำมีความสุ่มมาก
    สักวันหนึ่งคงดีถ้าสามารถ offload cold neurons ไปยัง GPU ในตัวได้ ที่บอกว่ากำลังพิจารณา Metal kernel ก็ชวนสงสัย เพราะคิดว่าข้อได้เปรียบด้านประสิทธิภาพมาจาก memory pool แบบไฮบริด ถ้าไม่ใช่อย่างนั้นก็น่าจะช่วยได้เฉพาะ Mac AMD รุ่นเก่า แต่อาจมีอะไรที่ผมพลาดไปก็ได้

    • สำหรับ Apple Silicon และ Metal อาจเป็นแนวคิดที่จะแยก cold neurons ไปไว้ที่ CPU/Accelerate และ hot neurons ไปไว้ที่ GPU เพื่อใช้ทั้งคู่
      ถ้าไม่มีการคัดลอกระหว่าง GPU กับ CPU และใช้ unified memory อยู่แล้ว ความเร็วที่เพิ่มขึ้นอาจไม่มาก แต่ถ้าใช้ความสามารถของชิปได้มากขึ้นพร้อมกันก็คงดี ถ้าต้องการหลีกเลี่ยงการลดประสิทธิภาพจากความร้อน น่าจะใช้เฉพาะ efficiency cores และ game mode ก็น่าจะทำแบบนั้นเหมือนกัน
  • ใน implementation นี้ ดูเหมือนต้องมีความรู้เกี่ยวกับตัวโมเดลพอสมควรเพื่อกำหนดว่าส่วนไหนจะอยู่ใน system memory และส่วนไหนจะอยู่ใน GPU memory
    ตามอุดมคติ สงสัยว่าจะคำนวณสิ่งนี้โดยอัตโนมัติได้ไหม หรือโมเดลในอนาคตจะมี interface ที่ทำให้ placement algorithm แบบนี้เป็นอัตโนมัติได้หรือไม่ ถ้าต้องปรับอัลกอริทึมให้เข้ากับสถาปัตยกรรมโมเดลแต่ละแบบ การดูแลโปรเจกต์นี้คงเหนื่อยทีเดียว

    • โดยรวมดูเหมือนใช่ มีสคริปต์สำหรับรวม weight ของ “Predictor” เข้ากับโมเดลต้นฉบับ แต่หน้าแรกของ GitHub ยังไม่เห็นชัดว่าทำ weight นั้นอย่างไร
      ความเร็วเพิ่มขึ้น 10 เท่า น่าประทับใจจริง ๆ ถ้าทำซ้ำได้กับโมเดลอื่น กระบวนการระบุ hot/cold neurons เพื่อเพิ่มประสิทธิภาพ inference ก็น่าจะกลายเป็นส่วนหนึ่งตามปกติของการพัฒนาโมเดล
  • ส่วนสำคัญจาก README สำหรับคนที่จะไม่ทดลองเองมีประมาณนี้ PowerInfer ถูกทดสอบบน CPU x86-64 ของ Linux (AVX2), CPU x86-64 ของ Linux ร่วมกับ NVIDIA GPU และชิป Apple M บน macOS
    อย่างไรก็ตาม เขาบอกว่ายังไม่ได้ optimize สำหรับ Mac ดังนั้นตอนนี้ประสิทธิภาพที่เพิ่มขึ้นยังไม่มาก ฟีเจอร์ที่จะเพิ่มเร็ว ๆ นี้มี โมเดล Mistral-7B และ Metal sparse inference backend สำหรับ macOS

    • โมเดล llama2 ที่ดาวน์โหลดได้กับไฟล์ convert.py ก็ควรกล่าวถึงด้วย
  • จุดที่ยอดเยี่ยมคือการออกแบบ GPU-CPU hybrid inference engine โดยใช้การกระจายที่ว่า “มี hot neurons จำนวนน้อยที่ activate อย่างสม่ำเสมอในทุกอินพุต และ cold neurons จำนวนมากที่เปลี่ยนไปตามอินพุต”
    คำอธิบายคือเอา hot neurons ขึ้น GPU ไว้ล่วงหน้าเพื่อให้เข้าถึงได้เร็ว ส่วน cold neurons คำนวณบน CPU เพื่อลดความต้องการ GPU memory และการถ่ายโอนข้อมูลระหว่าง CPU-GPU ลงอย่างมาก

  • ที่ทุกคนเอาไปเทียบกับ llama.cpp ก็เพราะเป็นทางที่ง่าย ต้องให้ทุกคนรู้ว่า llama.cpp ช้า ควรเทียบกับ exllamav2 หรืออิมพลีเมนต์อื่นที่ปรับแต่งมาแล้ว

    • ในกรณีนี้ โค้ดเป็นการแก้ไข llama.cpp แบบตรงตัว ดังนั้นการเทียบกับ llama.cpp จึงถูกต้อง ไม่ใช่แค่ใช้ไลบรารีคำนวณเมทริกซ์ ggml แต่เป็นฟอร์กที่ใช้ main.cpp และโค้ด llama.cpp ทั่วไปตามเดิม จึงเทียบโดยตรงได้
      https://github.com/ggerganov/llama.cpp/pull/4543 [Review] Merge PowerInfer with llama.cpp mainline #4543
      https://github.com/ggerganov/llama.cpp/discussions/4534#disc... ยังมีคำอธิบายว่า “การเร่งความเร็ว 11 เท่าเป็นการเลือกตัวอย่างที่เข้าทางอยู่บ้าง เพราะโค้ด GPU ของ llama.cpp สำหรับ Falcon 40B ยังไม่ได้ปรับแต่งมาดี”
    • exllama ไม่รองรับข้อจำกัดด้านไวยากรณ์ จึงยังผูกติดกับ llama.cpp
      แถม exllama ก็ดูเหมือนจะมีผลข้างเคียงด้านความสม่ำเสมอด้วย: https://www.reddit.com/r/LocalLLaMA/comments/17w57eu/llm_for...
    • ExLlama ไม่ใช่สำหรับ GPU อย่างเดียวเหรอ? การเร่งความเร็วนี้มีไว้สำหรับกรณีใช้งานแบบ แบ่งงานระหว่าง GPU+CPU
    • ถ้าจะแนะนำตัวที่เร็วกว่าและสามารถแพ็กเกจไปแจกจ่ายพร้อมแอปได้ อยากรู้ว่าตัวไหนน่าจะดี
  • ถ้าสามารถสร้าง ไฟล์ตัวทำนายแบบ sparse สำหรับโมเดลใด ๆ ได้ก็คงเจ๋งมาก ตอนนี้ดูเหมือนจะใช้ได้เฉพาะกับ 4 โมเดลที่พวกเขาประมวลผลไว้เท่านั้น
    ดูจากหน้าเว็บและโค้ดแล้ว เหมือนจะไม่ได้รวมเครื่องมือสำหรับทำขั้นตอนนั้นไว้ ตอนนี้คงรอดูไปก่อน และหวังว่าฟีเจอร์เหล่านี้สุดท้ายจะถูกรวมกลับเข้าไปเป็นอ็อปชันของ llama.cpp นี่ไม่ใช่แค่การใช้ไลบรารีเมทริกซ์ ggml แต่เป็นฐานโค้ด llama.cpp ทั่วไป

  • แค่เห็นคำว่า “GPU ระดับผู้บริโภค” ก็เหมือนจะรันได้บนหลายรุ่น แต่ก็อดสงสัยไม่ได้ว่าเหมือนบทความแนวนี้ทั่วไปหรือเปล่า ที่จริงแล้วเป็น เฉพาะ RTX 4090

    • นึกไม่ออกว่ามีอะไรที่เป็นเฉพาะ 4090 โดยตรง ปกติสิ่งสำคัญคือ VRAM ดังนั้นถ้าต้องใช้ 24GB ก็ใช้ 3090 ได้ และการ์ด 12GB สองใบก็เป็นอีกทางเลือกหนึ่ง
      เทคนิคนี้เองเป็นแนวทางทั่วไปที่ช่วยให้รันโมเดลใหญ่ขึ้นบน GPU ขนาดเล็กได้ และช่วยปรับปรุงประสิทธิภาพของ CPU offloading ได้มาก นอกจากกรณีที่รันโมเดลใหญ่สุดแบบ fp16 บน 4090 แล้ว การรันโมเดลเดียวกันแบบควอนไทซ์ 4 บิตบน 2080Ti ก็ยังเห็นความเร็วเพิ่มขึ้นประมาณ 3 เท่าตามเกณฑ์ของ LLaMA
      ดังนั้นบนเดสก์ท็อป โมเดล 33B น่าจะกลายเป็นค่ามาตรฐานใหม่ และมีความเป็นไปได้สูงว่าแม้มี 3090 หรือ 4090 เพียงใบเดียว ก็จะรัน 70B ได้ที่ความเร็วระดับแชตแบบเรียลไทม์