tgoop.com/machinelearning_interview/1319
Last Update:
Run:ai Model Streamer β Python SDK, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠ°Ρ
(.pt, .h5, .safetensors ΠΈ Π΄Ρ.) ΠΈΠ· ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ S3 ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π΄ΠΈΡΠΊΠΎΠ².
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Streamer - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π½Π·ΠΎΡΠΎΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π½Π·ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π½Π·ΠΎΡΠ° Π² ΠΏΠ°ΠΌΡΡΡ GPU. ΠΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅Π½Π·ΠΎΡΡ Π² ΠΏΠ°ΠΌΡΡΡ GPU ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π½Π·ΠΎΡΠΎΠ² ΠΈΠ· Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΡ GPU.
Streamer ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ Π½Π° C++, Π° Python API ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Streamer Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠ°, Π³Π΄Π΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΡΠΎΡ GPU ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Π°.
Π’Π΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Run:ai Model Streamer Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ Π½Π° NVIDIA A10G Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ Llama-3-8B (15 GB) ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π»ΡΡ Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°ΠΌΠΈ SafeTensors ΠΎΡ Hugging Face ΠΈ Tensorizer ΠΎΡ CoreWeave.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
SSD, Run:ai Model Streamer Π΄ΠΎΡΡΠΈΠ³Π°Π» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ SSD (1 ΠΠ/Ρ Π΄Π»Ρ GP3 ΠΈ 2 ΠΠ/Ρ Π΄Π»Ρ IO2), ΡΠΎΠΊΡΠ°ΡΠ°Ρ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² 6 ΡΠ°Π· ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SafeTensors Loader.
ΠΠ° Amazon S3 Run:ai Model Streamer Π·Π°Π³ΡΡΠΆΠ°Π» ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π° 4.88 ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄Ρ Tensorizer (37.36 ΡΠ΅ΠΊΡΠ½Π΄).
β οΈ Streamer ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ PyTorch.
β οΈ Π Π°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ RUNAI_STREAMER_MEMORY_LIMIT
# Install streamer from pip
pip install runai-model-streamer
# Load the tensors to the buffer and stream to the GPU
from runai_model_streamer import SafetensorsStreamer
file_path = "/path/to/file.safetensors"
with SafetensorsStreamer() as streamer:
streamer.stream_file(file_path)
for name, tensor in streamer.get_tensors():
tensor.to('CUDA:0')
@ai_machinelearning_big_data
#AI #ML #LLM #RunAI #ModelStramer