உங்கள் சொந்த GPU-வில் ஒரு பெரிய மொழி மாதிரியை ஹோஸ்ட் செய்ய முயற்சி செய்து, ஒரு பசியுள்ள தமாக்கோச்சியை (Tamagotchi) நீங்கள் தத்தெடுத்தது போல் உணர்ந்திருக்கிறீர்களா? நீங்கள் அதற்கு VRAM-ஐ ஊட்டுவீர்கள், கர்னல்களைக் கொஞ்சுவீர்கள், இறுதியாக ஒரு பதிலைக் கேட்கும்போது... அது ஐந்து நொடிகள் உங்களைப் பார்த்து கண் சிமிட்டிவிட்டு எங்கோ சென்றுவிடும். "வெனிலா" (vanilla) LLM சேவையகத்துடன் எனக்கு இப்படித்தான் வார இறுதி கழிந்தது. பிறகு நான் vLLM-ஐ நிறுவினேன்.
ஸ்பாய்லர்: vLLM என்பது ஒரு ஓப்பன் சோர்ஸ் எஞ்சின் (open-source engine). இது LLM அனுமானத்தை, நீங்கள் சைக்கிளுக்குப் பதிலாக டெஸ்லாவை மாற்றியது போல் உணர வைக்கிறது. இந்த vLLM விமர்சனம் அது என்ன, அது உங்கள் ஹார்டுவேர் பட்ஜெட்டில் இருந்து எப்படி அதிக டோக்கன்களைப் பிழிந்து எடுக்கிறது, எங்கு சிறப்பாகச் செயல்படுகிறது, எங்கு தடுமாறுகிறது, யார் அதை வண்டியில், கிளஸ்டரில் அல்லது "பிறகு பார்க்கலாம்" பட்டியலில் வைக்க வேண்டும் என்பதை ஆராய்கிறது.
சாதாரண ஆங்கிலத்தில் (மற்றும் குறைந்த GPU கண்ணீருடன்) vLLM என்றால் என்ன?
vLLM என்பது பெரிய மொழி மாதிரிகளுக்கான ஒரு ஓப்பன் சோர்ஸ் அனுமானம் மற்றும் சேவை எஞ்சின் ஆகும். இதை ஒரு விமானப் போக்குவரத்துக் கட்டுப்பாட்டாளர், சரக்குப் பெட்டிகளை கையாளுபவர் மற்றும் தள்ளுபடி விமான நிறுவனம் என அனைத்தையும் ஒன்றாக நினைத்துக் கொள்ளுங்கள்—இது கோரிக்கைகளைத் திட்டமிடுகிறது, டோக்கன்களை GPU நினைவகத்தில் பேக் செய்கிறது மற்றும் இருக்கைகளை (VRAM) காலியாக விடாமல் திறமையாகக் கிளம்புகிறது. இது உங்களுக்குத் தெரிந்த மாதிரிகளை— Llama, Mistral, Mixtral, Phi, Qwen, Gemma—பழக்கமான API-களுக்குப் (OpenAI-பாணி, OpenAI-இணக்கமானது) பின்னால் மறைத்து, புத்திசாலித்தனமான நினைவக தந்திரங்கள் மற்றும் திட்டமிடல் மூலம் அவற்றை மேம்படுத்துகிறது.
நீங்கள் LLM-களை சாதாரண லூப்கள் (loops) அல்லது பொதுவான நோக்கங்களுக்காக சேவை செய்யும் கட்டமைப்புகள் மூலம் இயக்க முயற்சித்திருந்தால், வேகத்தைக் குறைக்கும் மிகப்பெரிய எதிரியை நீங்கள் சந்தித்திருக்கலாம்: வீணான நினைவகம். vLLM-இன் தனித்துவமான நகர்வு PagedAttention ஆகும். இது ஒரு டைனமிக் நினைவக மேலாளர். இது கீ/வேல்யூ அட்டென்ஷன் கேஷ்களை (key/value attention caches) ஒரு ஆப்பரேட்டிங் சிஸ்டத்தில் உள்ள பக்கங்களைப் (pages) போல நடத்துகிறது. விளக்கம்: ஒவ்வொரு உரையாடலுக்கும் VRAM-இல் ஒரு தனிப்பட்ட பென்ட்ஹவுஸைக் கொடுப்பதற்குப் பதிலாக, அது பென்ட்ஹவுஸை ஒரு கோ-வொர்கிங் ஸ்பேஸாக மாற்றுகிறது. அதிகமான நபர்கள் (கோரிக்கைகள்) பொருந்த முடியும். எல்லோரும் வேகமாக டைப் செய்கிறார்கள்.
இந்த vLLM விமர்சனம் யாருக்கானது?
- குறைந்த தாமத அரட்டை மற்றும் அதிக த்ரூபுட் பேட்ச் வேலைகளை விரும்பும் AI பயன்பாடுகளை உருவாக்கும் குழுக்கள்.
- வணிக LLM எண்ட்பாயிண்ட்களுக்கு (endpoints) ஓப்பன் சோர்ஸ் மாற்றீட்டை வேட்டையாடும் உள்கட்டமைப்பு ஊழியர்கள்.
- செயல்திறனை இழக்காமல் விரைவான மாதிரி மாற்றங்களைச் செய்ய வேண்டிய ஆராய்ச்சியாளர்கள்.
- சுயமாக ஹோஸ்ட் செய்வதன் மூலம் டோக்கன் செலவுகளைக் குறைக்க முயற்சிக்கும் ஸ்டார்ட்அப் யதார்த்தவாதிகள்.
நீங்கள் "எனக்கு ஒரு ப்ராம்ட் பாக்ஸ் (prompt box) மற்றும் வைப்ஸ் (vibes) மட்டும் போதும்" என்பதில் இருந்தால், நீங்கள் நிர்வகிக்கப்படும் API-களை விரும்பலாம். நீங்கள் "10x பட்ஜெட் இல்லாமல் 10x த்ரூபுட் வேண்டும்" என்றால், தொடர்ந்து படிக்கவும்.
vLLM முக்கிய அம்சங்கள் (மற்றும் நீங்கள் ஏன் கவலைப்பட வேண்டும்)
- PagedAttention: அட்டென்ஷன் KV கேஷ்களுக்கான நினைவக பேஜிங். vLLM அதிகமான கோரிக்கைகளை எந்த தடங்கலும் இல்லாமல் கையாள இதுவே காரணம்.
- தொடர்ச்சியான பேட்சிங்: புதிய கோரிக்கைகள் நிகழ்ந்துகொண்டிருக்கும் பேட்ச்களுடன் இணைகின்றன, எனவே GPUக்கள் பிஸியாக இருக்கும் மற்றும் தாமதம் குறைவாக இருக்கும்.
- OpenAI-இணக்கமான API-கள்: குறைந்தபட்ச குறியீடு மாற்றங்களுடன் OpenAI-க்காக உருவாக்கப்பட்ட கருவிகள் மற்றும் SDK-களில் இதைச் செருகவும்.
- டென்சர்/குவாண்ட்டைசேஷன் (quantization) ஆதரவு: FP16, BF16, மற்றும் பிரபலமான குவாண்ட்டைஸ்டு வெயிட்கள் (quantized weights) (AWQ, GPTQ போன்றவை பொருந்தக்கூடிய இடங்களில்), இதன் மூலம் நீங்கள் பெரிய மூளைகளை சிறிய GPU-க்களில் பொருத்த முடியும்.
- மல்டி-GPU & விநியோகிக்கப்பட்ட சேவை: உங்கள் ஒற்றை A100 வியர்க்க ஆரம்பித்தவுடன் ஸ்கேல் அவுட் (scale-out) செய்யவும்.
- ஸ்ட்ரீமிங் டோக்கன்கள்: பயனர்கள் ஹாலிவுட் ஹேக்கிங் காட்சியைப் போல வார்த்தைகள் டைப் ஆவதை பார்க்கிறார்கள், இது எல்லாவற்றையும் வேகமாக உணர வைக்கிறது.
- LoRA/அடாப்டர் (adapter) ஆதரவு (மாதிரியைப் பொறுத்தது): ஒரே அடிப்படை மாதிரியில் நீங்கள் ஃபைன்-ட்யூன்ட் (fine-tuned) மாறுபாடுகளை வழங்கினால் பயனுள்ளதாக இருக்கும்.
விரைவான அமைவு கதை (அக்கா: எவ்வளவு சீக்கிரம் நான் முதல் டோக்கனைப் பெற முடியும்?)
- pip வழியாக vLLM-ஐ நிறுவவும். எந்த மந்திர வட்டமும் தேவையில்லை:
pip install vllm
- Hugging Face அல்லது உங்கள் உள்ளூர் வெயிட்களில் உள்ள மாதிரியை சுட்டிக்காட்டவும்.
- OpenAI-இணக்கமான எண்ட்பாயிண்ட் மூலம் சேவையகத்தைத் தொடங்கவும்.
- Curl செய்யவும் அல்லது உங்கள் தற்போதைய OpenAI கிளையண்டில் செருகவும்.
ஒரு கன்ஸ்யூமர் (consumer) GPU மற்றும் டேட்டா-சென்டர் கார்டுடன் கூடிய ஒரு பணிநிலையத்தில் நான் செய்த சோதனைகளில், ஸ்டாக் டிரான்ஸ்ஃபார்மர்ஸ் (stock transformers) சேவையக அமைப்புகளை விட, குறிப்பாக சுமை அதிகமாக இருக்கும்போது, முதல் டோக்கனுக்கான நேரம் மிகவும் வேகமாகக் கிடைத்தது. பல பயனர்கள் (அல்லது உங்கள் சொந்த பேட்ச் வேலைகள்) சேவையகத்தை நெருங்கும்போது மந்திரம் நடக்கிறது—vLLM GPU-வை நிரப்புகிறது.
பெஞ்ச்மார்க்குகள் (benchmarks), தாமதம் மற்றும் உண்மையான உலக அதிர்வு
vLLM விமர்சனத்தின் போது என்ன தனித்து நின்றது:
- த்ரூபுட்: தொடர்ச்சியான பேட்சிங் மூலம், vLLM உங்கள் GPU-வை நீள்வட்டங்களை மட்டும் அச்சிடும் ஸ்பேஸ் ஹீட்டராக மாற்றாமல், ஒரு வினாடிக்கு பல கோரிக்கைகளை வழங்க முடியும். நீங்கள் எவ்வளவு அதிக எண்ணிக்கையிலான ஒரே நேரத்தில் கோரிக்கைகளை வீசுகிறீர்களோ (காரணமான வரம்பிற்குள்), அவ்வளவு அதிகமாக அது வளைந்து கொடுக்கிறது.
- தாமதம்: முதல் டோக்கனுக்கான நேரம் போட்டியிடும் வகையில் உள்ளது, மேலும் நான் முயற்சித்த மற்ற ஓப்பன் சோர்ஸ் சேவையகங்களை விட சில நேரங்களில் சிறந்தது—குறிப்பாக ஸ்ட்ரீமிங் இயக்கப்பட்டிருந்தால் மற்றும் ப்ராம்ட்கள் குறுகிய-நடுத்தரமாக இருந்தால்.
- நீண்ட வெளியீடுகள்: நிலையான தலைமுறை நிலையானது. மிக நீண்ட தலைமுறைகளுக்கு, VRAM வசதியாக இருக்க max_tokens, பீம் (beam) அமைப்புகள் (நீங்கள் கட்டாயம் பயன்படுத்த வேண்டும் என்றால்) மற்றும் வெப்பநிலையை நீங்கள் சரிசெய்ய வேண்டும்.
- கலவையான வேலைப்பளு: அரட்டை, கருவி பயன்பாட்டு ப்ராம்ட்கள் மற்றும் ஒரே நேரத்தில் லைட் பேட்ச் ஸ்கோரிங் (light batch scoring) ஆகியவற்றை கையாளுவதில் இது வித்தியாசமாக நன்றாக உள்ளது. யாரையும் விஷமாக்காமல் பான்கேக்குகளையும் பாட் தாய்-யையும் (pad thai) பரிமாறும் ஒரு உணவகத்தைப் போல.
உங்கள் எண்கள் GPU வகுப்பு, குவாண்ட்டைசேஷன், சீக்வென்ஸ் லென்த்ஸ் (sequence lengths) மற்றும் மாதிரி தேர்வு ஆகியவற்றைப் பொறுத்தது. ஆனால் முறை நிலையானது: ஒரே நேரத்தில் அதிக கோரிக்கைகள் வரும்போது vLLM முன்னேறுகிறது.
மற்ற LLM சேவையகங்களுடன் ஒப்பிடும்போது vLLM எங்கு சிறப்பாகச் செயல்படுகிறது
- குறைந்த தாமதத்துடன் நிறைய ஊடாடும் பயனர்களுக்குச் சேவை செய்வதே உங்கள் முன்னுரிமையாக இருந்தால், vLLM-இன் ஷெட்யூலர் (scheduler) மற்றும் PagedAttention ஆகியவை தனித்து நிற்கின்றன.
- உள்ளமைந்த பயன்பாடுகளில் செருகுவதற்கு OpenAI-இணக்கமான எண்ட்பாயிண்ட்கள் உங்களுக்குத் தேவைப்பட்டால், இது பிளக்-அண்ட்-ப்ளே (plug-and-play) நட்பானது.
- நீங்கள் செலவை மேம்படுத்திக் கொண்டிருந்தால், நீங்கள் பெரும்பாலும் ஒரு சிறிய GPU வகுப்பிற்கு மாறலாம் அல்லது அதே ஹார்டுவேரில் இருந்து அதிகமான req/sec-ஐப் பிழியலாம். CFO-க்கள் எல்லா இடங்களிலும் துள்ளிக் குதிக்கிறார்கள்.
vLLM எங்கு உங்களை விரக்தியடையச் செய்யலாம் (இது மாயப் பொடி அல்ல)
- மாதிரி இணக்கத்தன்மை உலகளாவியது அல்ல. மிகவும் பிரபலமான ஓப்பன் வெயிட்கள் நன்றாக இயங்குகின்றன, ஆனால் விசித்திரமான கட்டமைப்புகள் அல்லது அதிநவீன குவாண்ட்டைசேஷன் வடிவங்களுக்கு ட்வீக்கிங் (tweaking) தேவைப்படலாம் அல்லது இன்னும் ஆதரிக்கப்படாமல் இருக்கலாம்.
- நினைவகம் இன்னும் இயற்பியல் தான். PagedAttention உதவுகிறது, ஆனால் 100 ஒரே நேர பயனர்களுடன் கூடிய 6GB GPU-வில் உள்ள 7B மாதிரி இன்னும் ஒரு நகைச்சுவை, சேவையகம் அல்ல.
- மேம்பட்ட மல்டிடெனன்சி (multitenancy) மற்றும் காட் ரெயில்களுக்கு (guardrails) மற்ற கருவிகளுடன் இணைக்கவோ அல்லது க்ளூ கோட் (glue code) எழுதவோ தேவைப்படலாம்.
- புதுப்பிப்புகள் வேகமாக நகர்கின்றன. இது அம்சங்களுக்கு ஒரு பிளஸ், நீங்கள் தேங்கி நிற்கும் ஸ்திரத்தன்மையை விரும்பினால் ஒரு மைனஸ்.
சந்தேகத்திற்கு இடமின்றி vLLM vs மற்றவர்கள் (நட்பு ரீதியான மோதல்)
- Text Generation Inference (TGI): TGI மெருகூட்டப்பட்டு நிறுவனங்களுக்கு மிகவும் பிடித்தமானது. vLLM பெரும்பாலும் டைனமிக் பேட்சிங் மற்றும் PagedAttention மூலம் த்ரூபுட்டில் அதை விட அதிகமாக உள்ளது, குறிப்பாக அரட்டை வேலைகளுக்கு. TGI வலுவான Hugging Face ஒருங்கிணைப்பையும் திடமான உற்பத்தி பணிச்சூழலியலையும் கொண்டுள்ளது. கச்சா சேவை வேகம் மற்றும் OpenAI போன்ற API-களுக்கு vLLM-ஐத் தேர்ந்தெடுக்கவும்; நீங்கள் HF கருவியில் ஆழமாக இருந்தால் மற்றும் அவர்களின் ஆபரேஷன் பேட்டர்ன்களை (ops patterns) விரும்பினால் TGI-ஐத் தேர்ந்தெடுக்கவும்.
- OpenLLM/FastChat/மற்றவை: இவை அனைத்தும் சோதனைக்கு சிறந்தவை. vLLM பொதுவாக ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாளுவதிலும் நினைவக திறனிலும் வெற்றி பெறுகிறது. ஸ்பைக்கி (spiky) டிராஃபிக் கொண்ட ஒரு கன்ஸ்யூமர் பயன்பாட்டை நீங்கள் உருவாக்கினால், vLLM-இன் ஷெட்யூலிங் டெயில்களைக் (tails) குறைக்க உதவுகிறது.
- கஸ்டம் ட்ரைட்டன்/டிரான்ஸ்ஃபார்மர்ஸ் ஸ்டாக்ஸ் (Custom Triton/Transformers stacks): நீங்கள் ஒரு மோசமான சேவையகத்தை கைவினை செய்யலாம், ஆனால் vLLM நீங்கள் எப்படியும் உருவாக்கும் தந்திரங்களை தொகுக்கிறது—மேலும் நீங்கள் ஒரு சிறிய நகரத்தின் மதிப்புள்ள கர்னல்களை பராமரிக்க வேண்டியதில்லை.
ஆழமான டைவ்: PagedAttention ஏன் முக்கியம்
உங்கள் மாதிரியின் கவன சிந்தனை இடத்தை ஒரு பெரிய ஒயிட் போர்டாக கற்பனை செய்து பாருங்கள். ஒவ்வொரு உரையாடலும் அதில் வரையப்படுகிறது. பெரும்பாலான சேவையகங்கள் ஒரு முழுப் பகுதியையும் ஒதுக்கீடு செய்கின்றன—உரையாடல் இரண்டு கிறுக்கல்களும் ஒரு ஸ்மைலியும் மட்டுமே இருந்தாலும். PagedAttention அந்த ஒயிட் போர்டை ஸ்டிக்கி நோட்களாகப் பிரித்து அவற்றை உள்ளேயும் வெளியேயும் மாற்றுகிறது. அதிகமான நபர்கள் ஒரே நேரத்தில் வரைய முடியும், குறைவான இடைவெளிகள், குறைவான வீணான இடம். அதனால்தான் vLLM உண்மையான உலகம்—அதாவது பல பயனர்கள் தன்னிச்சையாக விஷயங்களைக் கேட்கும்போது செயல்திறனைத் தக்க வைத்துக் கொள்கிறது.
டெவலப்பர் அனுபவம்: வசதியானதா அல்லது கடினமானதா?
- API வசதி: OpenAI-ஐப் பின்பற்றும் REST எண்ட்பாயிண்ட்டுகளைப் (REST endpoints) பெறுவீர்கள். உங்கள் தற்போதைய கிளையண்டுகள், ப்ராம்ட் டெம்ப்ளேட்கள் (prompt templates) மற்றும் லாக்கர்களைக் (loggers) கொண்டு வாருங்கள்.
- அமைப்புகள்: பேட்ச் அளவுகள், டென்சர் இணைத்தன்மை, குவாண்ட்டைசேஷன் மற்றும் ஷெட்யூலர் குமிழிகளுக்கான ஏராளமான கொடிகளுடன் கூடிய விவேகமான டீபால்ட்கள் (defaults).
- கண்காணிப்பு: மெட்ரிக்ஸ் எண்ட்பாயிண்ட்கள், லாக்குகள் மற்றும் ப்ரோமிதியஸ் ஹூக்குகள் (Prometheus hooks) உள்ளன, இருப்பினும் நீங்கள் உங்கள் சொந்த ட்ரேசிங்கைச் (tracing) சேர்ப்பீர்கள்.
- விரிவாக்கம்: டோக்கனைசர்கள், அடாப்டர்கள் மற்றும் பேக்கெண்ட்களுக்கான (backends) பிளகின் போன்ற ஆதரவு மேம்பட்டு வருகிறது. நள்ளிரவில் குறியீட்டைப் படிக்க நீங்கள் விரும்பினால், ரெப்போ (repo) சுறுசுறுப்பாகவும் அணுகக்கூடியதாகவும் இருக்கிறது.
செலவு கணக்கு: vLLM GPU கட்டணத்தை எப்படி மாற்றுகிறது
- சிறந்த பயன்பாடு = குறைவான செயலற்ற சுழற்சிகள். நீங்கள் மணிநேரத்திற்கு பணம் செலுத்துகிறீர்கள் என்றால் (கிளவுட்) அல்லது தேய்மானம் அடைகிறீர்கள் என்றால் (ஆன்-ப்ரீம்), vLLM-இன் த்ரூபுட் அதிகரிப்பு ஒரு டாலருக்கு அதிகமான டோக்கன்களாக மொழிபெயர்க்கப்படுகிறது.
- குவாண்ட்டைசேஷன் ஆதாயங்கள்: ஆதரிக்கப்படும் இடங்களில் AWQ/GPTQ/INT8 ஐ இயக்குவது VRAM தடயங்களை சுருக்கி, ஒரு GPU அடுக்கைக் குறைக்க உங்களை அனுமதிக்கலாம்—அல்லது ஒரு கார்டுக்கு அதிகமான ஒரே நேர வேலைகளைப் பொருத்தலாம்.
- கிடைமட்ட ஸ்கேல்: உங்களுக்கு அதிக தசை தேவைப்படும்போது, vLLM பல GPU-க்கள் மற்றும் நோட்களில் வேலை செய்கிறது. உங்கள் கட்டிடக்கலையை பிளெண்டரில் எறியாமல் நீங்கள் நேர்கோட்டில் வளரலாம்.
பொதுவான விதி: உங்கள் சேவையில் ஒரு சில ஒரே நேர பயனர்கள் இருந்தால் அல்லது நீங்கள் பேட்ச் வேலைகளை அலைகளில் இயக்கினால், vLLM-இன் திறன் விரைவில் பலனளிக்கும். நீங்கள் ப்ராம்ட்களை மட்டும் சோதித்தால், அது ஒரு நல்ல விஷயம்.
உண்மையான உலக சூழ்நிலைகள்: vLLM எங்கு தன்னை நிலைநிறுத்துகிறது
- நிறைய ஒரே நேர பயனர்களுடன் கூடிய சாட் அசிஸ்டன்ட்கள்: வாடிக்கையாளர் ஆதரவு, உள் IT உதவி அல்லது நள்ளிரவுக்கு ஐந்து நிமிடங்களுக்கு முன்பு மாணவர்கள் கட்டுரைகளுக்கு ஐடியாக்களை வழங்க உதவும் அந்த பயன்பாடு.
- உள்ளடக்க உருவாக்கம் பைப்லைன்கள்: வலைப்பதிவு அவுட்லைன்கள், மின்னஞ்சல் வரைவுகள், குறியீடு கமெண்ட்டுகள்—DMV போல தோற்றமளிக்கும் ஒரு வரிசையில் இல்லாமல் இணையாக உருவாக்கப்பட்டது.
- கருவி மூலம் இயக்கப்படும் ஏஜெண்டுகள்: உங்கள் மாதிரி கருவி அழைப்புகளுக்காக இடைநிறுத்தும்போது, vLLM-இன் பேட்சிங் GPU-வை மற்ற கோரிக்கைகளுடன் பிஸியாக வைத்திருக்கிறது.
- RAG சிஸ்டம்கள்: உங்கள் ரிட்ரீவர் (retriever) மற்ற இடங்களில் புத்தகப்புழு வேலைகளைச் செய்யும்போது, vLLM தலைமுறை அடுக்காக நன்றாக விளையாடுகிறது.
vLLM அமைவு குறிப்புகள் (வேடிக்கையான வழியில் கற்றுக்கொண்டது)
- நீங்கள் உண்மையில் சேவை செய்ய திட்டமிட்டுள்ள மாதிரியுடன் தொடங்கவும். ஒரு சிறிய 3B-ஐ பெஞ்ச்மார்க் செய்து, பின்னர் ஒரு 70B-ஐ டெப்ளாய் செய்து, உங்கள் GPU ஏன் கத்துகிறது என்று ஆச்சரியப்பட வேண்டாம்.
- அதிகபட்ச கான்டெக்ஸ்ட் லென்த்தை (context length) ட்யூன் (tune) செய்யவும். கான்டெக்ஸ்டை பெரிதாக்குவது VRAM-ஐ ஊதிவிடும்; சரியான அளவாக்குவது ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாள உதவும்.
- ஸ்ட்ரீமிங்கை இயக்கவும். பயனர்கள் வேகமான பதில்களை உணர்கிறார்கள், மேலும் நீங்கள் UI டோக்கன்களை முன்கூட்டியே நீக்கலாம்.
- உண்மையான டிராஃபிக் பேட்டர்ன்களுடன் சோதிக்கவும். ஸ்பைக்கியா? நிலையானதா? கலவையானதா? vLLM-இன் ஷெட்யூலர் வடிவத்தைப் பொறுத்து வித்தியாசமாக பிரகாசிக்கிறது.
- எல்லாவற்றையும் பதிவு செய்யுங்கள். லேட்டன்சி (Latency) p50, p95, டோக்கன் த்ரூபுட் மற்றும் OOM நிகழ்வுகள் எங்கு கசக்க வேண்டும் என்பதை உங்களுக்குச் சொல்கின்றன.
பாதுகாப்பு மற்றும் நிர்வாகம்: உங்கள் சொந்த வளர்ந்த ஆடை அணியுங்கள்
vLLM என்பது ஒரு சேவை எஞ்சின், ஒரு ஒழுக்க திசைகாட்டி அல்ல. உங்களுக்கு மிதப்படுத்துதல், PII ஸ்க்ரப்பிங், ரேட் லிமிட்கள், டெனன்ட் ஐசோலேஷன் (tenant isolation) அல்லது தணிக்கை தடயங்கள் தேவைப்பட்டால்—அவற்றை கேட்வே அல்லது பயன்பாட்டு அடுக்கில் போல்ட் செய்யவும். நல்ல செய்தி: OpenAI-இணக்கமான இடைமுகம் உங்களுக்கு பிடித்த கொள்கைகள் மற்றும் இடைநிலையினை எளிதாக மாற்ற உதவுகிறது.
சின்ன எழுத்து: இந்த vLLM விமர்சனத்தில் இணக்கத்தன்மை மற்றும் எச்சரிக்கைகள்
- ஒவ்வொரு மாதிரி கட்டிடக்கலை அல்லது குவாண்ட்டைஸ்டு வெயிட்டும் பிளக்-அண்ட்-கோவாக (plug-and-go) இருக்காது. ஆவணங்கள் மற்றும் சமூக சிக்கல்களைச் சரிபார்க்கவும். ஆதரவின் வேகம் வேகமாக உள்ளது, ஆனால் புதுமை எப்போதும் ஸ்திரத்தன்மையை விட அதிகமாக இருக்கும்.
- CPU ஃபால்பேக்? vLLM GPU-க்களில் மகிழ்ச்சியாக உள்ளது. நீங்கள் CPU-வில் பரிசோதனை செய்யலாம், ஆனால் அது ஸ்கை பூட்ஸில் (ski boots) மராத்தான் ஓட முயற்சிப்பது போன்றது.
- மல்டி-GPU ஷார்டிங் சக்தி வாய்ந்தது, ஆனால் கவனமாக உள்ளமைவு தேவைப்படுகிறது. குறிப்பாக உற்பத்தி SLA-களுக்கு, ஃபெயிலோவர் (failover) மற்றும் வார்ம் ஸ்டார்ட்ஸ்-ஐ (warm starts) சோதிக்கவும்.
விரைவான தொடக்கம்: ஒரு மன சரிபார்ப்பு பட்டியல்
- ஹார்டுவேர்: உங்கள் இலக்கு மாதிரிக்கு போதுமான VRAM கொண்ட GPU-க்கள் + ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாளுவதற்கான ஹெட்ரூம்.
- மாதிரி: நன்கு ஆதரிக்கப்படும் குடும்பத்தைத் (Llama, Mistral, Mixtral, Qwen, Gemma) தேர்வுசெய்து, டோக்கனைசர்/குவாண்ட்டைசேஷன் இணக்கத்தன்மையை உறுதிப்படுத்தவும்.
- சேவை: OpenAI API இயக்கப்பட்ட நிலையில் vLLM-ஐ இயக்கவும், ரெஸ்பான்ஸ்களை (responses) ஸ்ட்ரீம் (stream) செய்யவும், கான்டெக்ஸ்ட் மற்றும் max_tokens-ஐ நியாயமாக அமைக்கவும்.
- ஸ்கேல்: GPU-க்கள் அல்லது நோட்களைச் சேர்க்கவும். ரூட்டிங், ரேட் லிமிட்கள் மற்றும் அங்கீகாரத்திற்காக கேட்வேயைப் பயன்படுத்தவும். கிளவுட் என்றால் ஆட்டோஸ்கேலிங்கை (autoscaling) கருத்தில் கொள்ளுங்கள்.
- செலவுகள்: வினாடிக்கு டோக்கன்கள், ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாளுதல் மற்றும் சராசரி வெளியீட்டு நீளம் ஆகியவற்றை அளவிடவும். ஒவ்வொரு மாற்றத்திற்கும் பிறகு மீண்டும் இயக்கவும்.
குறிப்பிடத்தக்கது: இந்த படத்தில் Sider.AI எங்கு பொருந்துகிறது
கட்டுமானதாரர்களே, எச்சரிக்கையாக இருங்கள்: நீங்கள் மாதிரிகளைத் தேர்ந்தெடுக்கவும், ப்ராம்ட்களில் வேகத்தை ஒப்பிடவும், பொதுவாக திரும்பத் திரும்பச் செய்யும்போது உங்கள் மனதை இழக்காமல் இருக்கவும் முயற்சிக்கிறீர்கள் என்றால், Sider.AI ஒரு சிறந்த மனநல சோதனையாக இருக்கும். நீங்கள் வெவ்வேறு பேக்கெண்ட்களில் ப்ராம்ட்களை உருவாக்கலாம், சோதிக்கலாம் மற்றும் செம்மைப்படுத்தலாம், பின்னர் செலவு அல்லது கட்டுப்பாட்டிற்காக சுயமாக ஹோஸ்ட் செய்ய வேண்டிய நேரம் வரும்போது vLLM-க்கு மாறலாம். Sider.AI-ஐ உங்கள் பிட் க்ரூவாகவும் (pit crew)—பின்னர் களம் திறக்கும்போது நீங்கள் ஓட்டும் பந்தய காராகவும் vLLM-ஐ நினைத்துப் பாருங்கள். யார் vLLM-ஐ இப்போது தேர்ந்தெடுக்க வேண்டும்?
- ஆம்: வளர்ந்து வரும் பயனர் தளங்களைக் கொண்ட ஸ்டார்ட்அப்கள், பல குழுக்களுக்கு சேவை செய்யும் உள் தளங்கள், பணம் செலுத்தும் API-யிலிருந்து சுய ஹோஸ்டிங்கிற்கு நகரும் தயாரிப்புக் குழுக்கள்.
- ஒருவேளை: விருப்பங்களை ஆராயும் தனி டெவலப்பர்கள். உங்கள் டிராஃபிக் மிகக் குறைவாக இருந்தால், நிர்வகிக்கப்படும் API-கள் இப்போது எளிமையாகவும் (மற்றும் மலிவாகவும்) இருக்கலாம்.
- இன்னும் இல்லை: சேவை அடுக்கில் டர்ன்கி (turnkey) இணக்கம் மற்றும் தனிமைப்படுத்தல் தேவைப்படும் அதிக கட்டுப்பாடுள்ள நிறுவனங்கள். உங்களுக்கு அதைச் சுற்றி முதலில் அதிகமான காட் ரெயில்கள் தேவைப்படும்.
vLLM நன்மை தீமைகள் (சர்க்கரை பூசப்படவில்லை)
நன்மைகள்
- ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாளும் போது சிறந்த த்ரூபுட்
- OpenAI-இணக்கமான API இடம்பெயர்வுகளை எளிதாக்குகிறது
- PagedAttention உடன் வலுவான நினைவக திறன்
- பிரபலமான திறந்த மாதிரிகள் மற்றும் குவாண்ட்டைசேஷனுக்கு நல்ல ஆதரவு
- சுறுசுறுப்பான சமூகம் மற்றும் விரைவான வளர்ச்சி வேகம்
பாதகங்கள்
- உலகளாவிய மாதிரி/குவாண்ட்டைசேஷன் ஆதரவு இல்லை; சில ட்வீக்கிங் தேவை
- GPU-க்களில் சிறந்தது; CPU பயன்பாடு பெரும்பாலும் அறிவியல் பரிசோதனைகளுக்கானது
- உற்பத்தி-தர மல்டிடெனன்சி மற்றும் நிர்வாகத்திற்கு கூடுதல் தேவை
- விரைவான மாற்றங்கள் எப்போதாவது மேம்படுத்தல் தடங்கல்களை ஏற்படுத்தலாம்
இந்த vLLM விமர்சனத்தின் தீர்ப்பு
vLLM என்பது கல்வி ரீதியாக புத்திசாலித்தனமாகவும் உற்பத்தி ரீதியாக நடைமுறைத்தன்மையுடனும் இருக்கும் ஒரு அரிதான ஓப்பன் சோர்ஸ் திட்டம் ஆகும். ஒரு சவுனாவாக இரட்டிப்பாகும் GPU பண்ணையை சுழற்றாமல், LLM-களை அளவில் இயக்குவதில் நீங்கள் தீவிரமாக இருந்தால், அது உங்கள் குறுகிய பட்டியலில் இருக்க வேண்டும்—ஒருவேளை மேலே இருக்கலாம். இது மாதிரிகளை சேவை செய்வதற்கான ஒரே வழி அல்ல, ஆனால் இப்போது, இது வேகமான, மிகவும் நெகிழ்வான மற்றும் டெவலப்பருக்கு ஏற்ற ஒன்றாகும்.
வேறுவிதமாகக் கூறினால்: உங்கள் தற்போதைய அமைப்பு பயனர்கள் தங்கள் வாழ்க்கை தேர்வுகளை மறுபரிசீலனை செய்ய போதுமான நேரம் காத்திருக்க வைத்தால், vLLM அவர்கள் முடியும் முன் பதில்களை அனுப்ப உங்களுக்கு உதவும். அதுதானே முழு விஷயமும்?
செயல் திட்டம்: இந்த வாரம் உங்கள் LLM-ஐ வேகப்படுத்துங்கள்
- நாள் 1: உங்கள் இலக்கு மாதிரியுடன் vLLM-ஐ நிலைநிறுத்துங்கள். ஸ்ட்ரீமிங்கை இயக்கவும். உங்கள் உண்மையான ப்ராம்ட்களுடன் அதை அடிக்கவும்.
- நாள் 2: கான்டெக்ஸ்ட் விண்டோ மற்றும் பேட்ச் அமைப்புகளை ட்யூன் செய்யவும். அதிகமான கோரிக்கைகளைப் பொருத்த ஆதரிக்கப்படும் குவாண்ட்டைசேஷனை முயற்சிக்கவும்.
- நாள் 3: கேட்வே மற்றும் லாக்குகளைச் சேர்க்கவும். p95 தாமதம் மற்றும் ஒரு டாலருக்கு டோக்கன்களை அளவிடவும்.
- நாள் 4–5: உண்மையான பயனர்களுக்கு ஒரு கேனரியை (canary) தள்ளுங்கள். தேவைப்பட்டால் அளவிடவும். குமிழிகள் நிறைந்த ஒன்றைக் கொண்டு கொண்டாடவும் (செல்ட்ஸர் கணக்கிடப்படுகிறது).
மேலும் உங்கள் முதலாளி செலவை இரட்டிப்பாக்காமல் நீங்கள் எவ்வாறு த்ரூபுட்டை இரட்டிப்பாக்கினீர்கள் என்று கேட்டால், இரண்டு வார்த்தைகளை மட்டும் சொல்லுங்கள்: “பேஜ்டு அட்டென்ஷன்.” (paged attention.) பின்னர் இந்த vLLM விமர்சனத்தை அவர்களிடம் கொடுத்து, நீங்கள் திட்டமிட்டது போல் பாராட்டுகளை அனுபவிக்கவும்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
கே1: vLLM சிறிய குழுக்களுக்கு நல்லதா அல்லது பெரிய நிறுவனங்களுக்கு மட்டும்தானா?
இரண்டுக்கும். நீங்கள் நிர்வகிக்கப்படும் API-களிலிருந்து சுயமாக ஹோஸ்ட் செய்வதற்கு செலவுகளைக் குறைக்க நகர்கிறீர்கள் என்றால், vLLM-இன் OpenAI-இணக்கமான எண்ட்பாயிண்ட்கள் மாற்றத்தை எளிதாக்குகின்றன. பெரிய குழுக்களைப் பொறுத்தவரை, டிராஃபிக் அதிகரிக்கும்போது த்ரூபுட் மற்றும் ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாளுதல் ஆகியவை பிரகாசிக்கின்றன.
கே2: எந்த மாதிரிகள் vLLM-இல் சிறப்பாக இயங்குகின்றன?
Llama, Mistral, Mixtral, Qwen, Gemma, மற்றும் Phi போன்ற பிரபலமான திறந்த மாதிரிகள் நன்கு ஆராயப்பட்ட பாதைகள். குவாண்ட்டைஸ்டு மாறுபாடுகளுக்கான இணக்கத்தன்மை குறிப்புகளைச் சரிபார்க்கவும்—மிகவும் பொதுவான வடிவங்கள் வேலை செய்கின்றன, ஆனால் விசித்திரமான கலவைகளுக்கு ட்வீக்கிங் தேவைப்படலாம்.
கே3: vLLM-ஐ இயக்க எனக்கு எவ்வளவு GPU தேவை?
உங்கள் மாதிரி அளவு மற்றும் கான்டெக்ஸ்ட் விண்டோவுடன் VRAM-ஐ பொருத்தவும், பின்னர் ஒரே நேரத்தில் அதிக கோரிக்கைகளை கையாளுவதற்கு ஹெட்ரூமைச் சேர்க்கவும். ஒரு உயர்-நினைவக GPU ஒரு 7B–13B மாதிரியை நன்றாகச் சேவை செய்ய முடியும்; பெரிய மாதிரிகள் அல்லது அதிக டிராஃபிக் மல்டி-GPU அமைப்புகளிலிருந்து பயனடைகின்றன.
கே4: vLLM தாமதத்தைக் குறைக்கிறதா அல்லது த்ரூபுட்டை அதிகரிக்கிறதா?
வேலைப்பளுவைப் பொறுத்து இரண்டும். தொடர்ச்சியான பேட்சிங் சிறந்த த்ரூபுட்டிற்கான GPU பயன்பாட்டை மேம்படுத்துகிறது, அதே நேரத்தில் ஸ்ட்ரீமிங் மற்றும் திறமையான ஷெட்யூலிங் அரட்டை பயன்பாடுகளில் முதல் டோக்கனுக்கான நேரம் மற்றும் டெயில் லேட்டன்சிக்கு உதவுகின்றன.
கே5: Text Generation Inference (TGI) உடன் vLLM எவ்வாறு ஒப்பிடுகிறது?
vLLM பெரும்பாலும் PagedAttention மற்றும் டைனமிக் பேட்சிங் மூலம் த்ரூபுட்டில் TGI-ஐ விட அதிகமாக உள்ளது, குறிப்பாக ஊடாடும் அரட்டைக்கு. TGI Hugging Face ஒருங்கிணைப்புகள் மற்றும் நிறுவன பாணியில் சாய்ந்துள்ளது—உங்கள் ஸ்டாக் மற்றும் முன்னுரிமைகள் தீர்மானிக்க வேண்டும்.