Tamil Newsஞாயிறு, 15 நவம்பர் 2026
சமீபத்தியம்
நாடு மீண்டும் வங்குரோத்து (bankruptcy) நிலையை நோக்கி நகர்வதாக முன்னாள் அமைச்சர் ராஜித சேனாரத்ன (Rajitha Senaratne) எச்சரிக்கைதம்புட்டேகமயில் (Thambuttegama) நிவாரணம் தேவைப்படும் குடும்பம் ஒன்றுக்கு வீடு: முன்னாள் ஜனாதிபதி சந்திரிகா பண்டாரநாயக்க குமாரதுங்க (Chandrika Bandaranaike Kumaratunga) சொந்த நிதியில் நிர்மாணம்புதுப்பிப்பு (Updated): புற்றுநோய் கதிர்வீச்சுச் சிகிச்சை (radiotherapy): ஐந்து வைத்தியசாலைகளுக்கான கருவிக் கொள்வனவு தாமதம் குறித்து மருத்துவர் எச்சரிக்கைபுதுப்பிப்பு (Updated): கங்குவா (Kanguva) பின்னடைவுக்குப் பிறகு சூர்யா (Suriya): மூன்றாவது ரூ.200 கோடி வசூலை (box office) நோக்கி சீன் (Scene)பாகிஸ்தான் (Pakistan) தார்பேலா (Tarbela) நீர்மின் திட்டத்தில் (hydropower project) தடுப்புச் சுவர் இடிந்ததாகத் தகவல்இலங்கைச் (Sri Lanka) சுற்றுலாவை (tourism) மேம்படுத்த சர்வதேச ஒலிபரப்பு நிறுவனங்கள் (broadcasting organisations) விருப்பம்: அமைச்சர் (Minister)நொச்சியாகமவில் (Nochchiyagama) கொலைக்கு உதவிய குற்றச்சாட்டில் 38 வயது நபர் கைதுசிங்கராஜ காட்டில் (Sinharaja Forest) அரிய பூச்சி, ஊர்வன இனங்களைச் சேகரித்த குற்றச்சாட்டில் நான்கு சீன நாட்டவர் (Chinese nationals) கைது

FlashAttention-2/3, 3D Parallelism, Quantization: நவீன AI உள்கட்டமைப்பின் மூன்று தூண்கள்

கேபிள் தட்டுகளும் குழாய்களும் கொண்ட கட்டடச் சேவை மேற்கூரையின் விளக்கப் படம்; தரவு மையம் அல்ல.

கேபிள் தட்டுகளும் குழாய்களும் கொண்ட கட்டடச் சேவை மேற்கூரையின் விளக்கப் படம்; தரவு மையம் அல்ல.

நவீன AI உள்கட்டமைப்பு hardware-ஐ அறிந்த attention kernel-கள், விநியோகிக்கப்பட்ட பல-GPU parallelism, குறைந்த-bit quantization ஆகியவற்றைச் சார்ந்து, பெரிய மாதிரிகளைத் திறமையாக train செய்து serve செய்கிறது. கோட்பாட்டு மாதிரி அளவுக்கும் உடல்ரீதியான GPU வரம்புகளுக்கும் இடையிலான இடைவெளியை இந்த மூன்று நுட்பங்கள் இணைக்கின்றன.

1. Hopper (H100) GPU-களில் FlashAttention-2 மற்றும் FlashAttention-3

அசல் FlashAttention நினைவக bandwidth நெரிசலைத் தீர்த்தாலும், நவீன GPU-களில் கணிசமான மூல கணிசச் செயல்திறனை (compute) பயன்படுத்தாமலே விட்டது. FlashAttention-2 (2023) மற்றும் FlashAttention-3 (2024) GPU thread-களும் hardware engine-களும் எவ்வாறு ஒருங்கிணைகின்றன என்பதை மறுவடிவமைப்பு செய்தன.

  • FlashAttention-2 (சிறந்த பணிப் பிரிவு).
  • Non-Matmul செயல்களைக் குறைத்தல். GPU Tensor Cores matrix multiplication-களை (matmul) சாதாரண CUDA core-கள் Softmax rescaling போன்ற scalar செயல்களைச் செய்வதை விட சுமார் 16× மடங்கு வேகமாகச் செய்கின்றன. FlashAttention-2, rescaling-ஐ உள் loop-இன் மிகக் கடைசிவரை ஒத்திவைக்க online Softmax கணிதத்தை மீளெழுதியது; இது மெதுவான non-matmul கட்டளைகளைக் குறைத்தது.
  • தொடர் நீளத்தில் (Sequence Length) இணையாக்கம். அசல் பதிப்பு பணியை முக்கியமாக batch size மற்றும் attention head-கள் மட்டுமே இணையாக்கியது; நீளமான தொடர்கள் மற்றும் சிறிய batch size-களுடன் train செய்யும்போது GPU core-கள் வெற்றே இருந்தன. FlashAttention-2 sequence length பரிமாணத்திலும் parallelism-ஐச் சேர்த்து, loop ஒழுங்கையும் மாற்றியது (வெளி loop Q block-கள் மீது, உள் loop K மற்றும் V மீது); இது மெதுவான shared-memory எழுத்துகளைக் குறைத்தது.
  • FlashAttention-3 (Hopper H100 Hardware பயன்பாடு).
  • ஒத்திசைவற்ற தரவு நகர்வு (TMA). NVIDIA-இன் Hopper கட்டமைப்பு Tensor Memory Accelerator (TMA)-ஐ அறிமுகப்படுத்தியது; இது compute thread-களைப் பிடிக்காமல் global HBM-க்கும் on-chip SRAM-க்கும் இடையே தரவை நகலெடுக்கும் அர்ப்பணிக்கப்பட்ட hardware அலகு.
  • Warp Specialization (Producer-Consumer மாதிரி). FlashAttention-3 GPU warp-களை (32 thread-களின் குழுக்கள்) அர்ப்பணிக்கப்பட்ட பணிகளாகப் பிரிக்கிறது. Producer warp-கள் TMA-ஐப் பயன்படுத்தி K, V-யின் எதிர்கால tile-களை SRAM-க்கு முன்கூட்டியே ஏற்றுகின்றன (prefetch); Consumer warp-கள் தற்போதைய tile-களை Tensor Cores-க்கு (WGMMA கட்டளைகள்) அளிக்கின்றன. இது நினைவகப் பரிமாற்றங்களை matrix கணிதத்துடனும் Softmax கணக்கீடுகளுடனும் ஒரே நேரத்தில் மேலடுக்குச் (overlap) செய்கிறது.
  • FP8 குறைந்த-துல்லிய ஆதரவு. FlashAttention-3 Hopper-இன் FP8 Tensor Cores-ஐத் திறந்து, FP16-ஐ விட மூல throughput-ஐ இரட்டிப்பாக்குகிறது. FP8-இல் outlier activation-களால் துல்லிய இழப்பு ஏற்படாமல் தடுக்க, அது block quantization-ஐ (சிறிய tile-களைத் தனித்தனியாக அளவிடல்) மற்றும் incoherent processing-ஐ (quantize செய்வதற்கு முன் தீவிர மதிப்புகளைச் சமன் செய்ய Q, K-ஐ சீரற்ற நேர்மையான matrix-களால் (random orthogonal matrices) பெருக்கல்) பயன்படுத்துகிறது.

2. பல-GPU அளவீட்டு உத்திகள் (3D Parallelism)

ஒரு மாதிரி பல்டஜன் அல்லது நூற்றுக்கணக்கான பில்லியன் parameter-களைக் கொண்டிருக்கும்போது, அதன் weight-கள், gradient-கள், optimizer நிலைகள் ஒரே GPU-இன் VRAM-ஐ மீறிவிடுகின்றன. பெரிய-அளவு training மூன்று வெவ்வேறு parallelization உத்திகளை இணைக்கிறது — இது பெரும்பாலும் 3D Parallelism எனப் பேசப்படுகிறது.

உத்திபணியை எவ்வாறு பிரிக்கிறதுதொடர்பு நெரிசல்சிறந்த பயன்பாட்டுச் சூழல்
Data Parallelism (DP / FSDP)மாதிரியை GPU-களில் நகல் செய்கிறது; ஒவ்வொரு GPU-ம் வெவ்வேறு தரவு batch-ஐச் செயலாக்குகிறது.GPU-கள் முழுவதும் gradient-கள் மற்றும் sharded weight-களின் All-Reduce / All-Gather.Layer-கள் ஒரே சாதனத்தில் பொருந்தும்போது நூற்றுக்கணக்கான GPU-களில் training throughput-ஐ அளவிடல்.
Tensor Parallelism (TP)தனிப்பட்ட weight matrix-களை (layer-கள்) GPU-களில் செங்குத்தாக அல்லது கிடைமட்டமாகப் பிரிக்கிறது.ஒவ்வொரு Transformer layer-க்கும் பின் All-Reduce (மிக வேகமான NVLink தேவை).ஒரே GPU-இல் பொருந்தாத மாபெரும் layer-கள்; கண்டிப்பாக ஒரே 8-GPU server node-க்குள்.
Pipeline Parallelism (PP)மாதிரியை ஆழத்தால் பிரித்து, தொடர்ச்சியான layer குழுக்களை வெவ்வேறு GPU-களில் வைக்கிறது.Pipeline நிலைகளுக்கிடையே Point-to-Point (P2P) activation பரிமாற்றங்கள்.மெதுவான InfiniBand/Ethernet வலையமைப்புகளால் இணைக்கப்பட்ட பல server node-களில் அளவிடல்.
  • Data Parallelism மற்றும் ZeRO / FSDP. சாதாரண Data Parallelism-இல், ஒவ்வொரு GPU-ம் மாதிரியின் முழு நகலையும் வைத்திருக்கும்; இது நினைவகத்தை வீணடிக்கிறது. நவீன framework-கள் ZeRO (Zero Redundancy Optimizer) அல்லது PyTorch FSDP (Fully Sharded Data Parallel)-ஐப் பயன்படுத்துகின்றன; அவை parameter-கள், gradient-கள், optimizer நிலைகளை எல்லா GPU-களிலும் துண்டுபிரித்து (shard), ஒவ்வொரு layer-இன் weight-களையும் கணக்கீட்டிற்குச் சரியான நேரத்தில் (just in time) சேகரிக்கின்றன.
  • Tensor Parallelism (Layer-க்குள்). மாபெரும் feed-forward matrix பெருக்கல் Y = XW-ஐ நகல் செய்வதற்குப் பதிலாக, Tensor Parallelism W-ஐ GPU-களில் நிரல்-வாரியாகப் பிரிக்கிறது (W = [W_1, W_2]). ஒவ்வொரு GPU-ம் output-இன் தனது பாதியை ஒரே நேரத்தில் கணக்கிட்டு, அதிவேக NVLink (H100-களில் 900 GB/s) வழியாகப் பகுதி முடிவுகளைப் பரிமாறிக்கொள்கிறது.
  • Pipeline Parallelism (Layer-களுக்கிடையே). Layer 1–8 GPU 1-இல், Layer 9–16 GPU 2-இல் என அமைகின்றன. முந்தைய layer-கள் முடியும் வரை காத்திருக்கும் பின்னடை GPU-கள் வெற்றே இருப்பதைத் (pipeline bubble) தடுக்க, framework-கள் ஒவ்வொரு training batch-ஐயும் சிறிய micro-batch-களாக வெட்டி, எல்லா GPU-களும் அசெம்பிளி-லைன் பாணியில் பிஸியாக இருக்கச் செய்கின்றன.

3. Quantization (GPTQ, AWQ) மற்றும் உடனுக்குடன் Dequantize செய்யும் Kernel-கள்

Inference-இன் போது (token-களை ஒன்றன் பின் ஒன்றாக உருவாக்குதல்), Large Language Model-கள் கணிச நெரிசலாக (compute bound) அல்லாமல் நினைவக-bandwidth நெரிசலாக (memory-bandwidth bound) இருக்கின்றன. ஒரே ஒரு token-ஐ உருவாக்க 70 பில்லியன் 16-bit parameter-களை (140 GB) VRAM-இலிருந்து ஏற்றுவது Tensor Cores-ஐ நினைவகப் பரிமாற்றங்களுக்காகக் காத்திருக்க வைக்கிறது. Quantization weight-களை 16-bit float-களிலிருந்து 4-bit integer-களாக (INT4) சுருக்கி, நினைவக அளவையும் பரிமாற்ற நேரத்தையும் கிட்டத்தட்ட 4×-ஆகக் குறைக்கிறது.

  • GPTQ (Hessian Calibration மூலம் Post-Training Quantization).
  • 16-bit weight-களை 4-bit integer-களாக நேரடியாக (naive) முழுமைப்படுத்துவது (rounding) மாதிரியின் துல்லியத்தை அழித்துவிடும். GPTQ ஒரு சிறிய calibration dataset-ஐ மாதிரி வழியாக அனுப்பி, இரண்டாம்-வரிசை கணிதத்தை (inverse Hessian matrix) பயன்படுத்தி ஒவ்வொரு weight-ம் எவ்வளவு உணர்திறன் உள்ளது என்பதை அளக்கிறது.
  • அது weight-களை நிரல்-வாரியாக (column-by-column) quantize செய்கிறது; ஒரு weight-ஐ முழுமைப்படுத்தும்போது பிழை ஏற்பட்டால், அந்த row-இல் மீதமுள்ள quantize செய்யப்படாத weight-களைக் கணிதமாகச் சரிசெய்து பிழையை நீக்குகிறது.
  • AWQ (Activation-அறிந்த Weight Quantization).
  • ஆராய்ச்சியாளர்கள், weight channel-களில் சுமார் 0.1% முதல் 1% மீதமுள்ளவற்றை விட மிக முக்கியமானவை என்பதைக் கண்டறிந்தனர்; ஏனெனில் அவை பெரிய activation மதிப்புகளைப் பெருக்குகின்றன.
  • அந்த முக்கியமான weight-களை 16-bit-இல் வைத்திருப்பதற்குப் (இது குழப்பமான, மெதுவான mixed-precision நினைவக அமைப்புகளை உருவாக்குகிறது) பதிலாக, AWQ quantization-க்கு முன் அந்த முக்கிய (salient) weight channel-களை மேலே அளவிட்டு (scale up), runtime-இல் தொடர்புடைய input activation-களைக் கீழே அளவிடுகிறது (scale down); இது 100% weight-களையும் ஒருசீர் 4-bit வடிவத்தில் வைத்திருந்தபடியே துல்லியத்தைப் பாதுகாக்கிறது.
  • Custom CUDA Kernel-கள் உடனுக்குடன் எவ்வாறு Dequantize செய்கின்றன (W4A16).
  • GPU-கள் ஒரு 16-bit activation-ஐ (FP16) நேரடியாக ஒரு 4-bit integer weight-ஆல் (INT4) பெருக்க முடியாது. அதற்குப் பதிலாக, சிறப்பு inference kernel-கள் (Marlin அல்லது ExLlama போன்றவை) W4A16 (4-bit Weights, 16-bit Activations) செயலாக்கத்தை நடத்துகின்றன:
  • 1. சுருக்கப்பட்ட HBM வாசிப்பு: Kernel, packing செய்யப்பட்ட 4-bit weight-களை (ஒரே 32-bit integer-க்குள் packing செய்யப்பட்ட எட்டு INT4 மதிப்புகள்) மெதுவான global VRAM-இலிருந்து ஏற்றி, நினைவக bandwidth பயன்பாட்டை 4×-ஆகக் குறைக்கிறது.
  • 2. Register-மட்ட Unpacking: GPU-இன் மிக வேகமான register-களுக்குள், CUDA kernel வேகமான bitwise shift-கள் (>>) மற்றும் bitmask-கள் (&) பயன்படுத்தி INT4 integer-களை unpack செய்து, சேமிக்கப்பட்ட scale/zero-point காரணிகளைப் பயன்படுத்தி அவற்றை உடனுக்குடன் FP16 மதிப்புகளாக மீள் மாற்றுகிறது.
  • 3. உடனடி Tensor Core கணிதம்: புதிதாக unpack செய்யப்பட்ட FP16 weight-கள், விரிவாக்கப்பட்ட 16-bit weight-களை ஒருபோதும் VRAM-இல் மீண்டும் எழுதாமல், FP16 activation-களுடன் நேரடியாக Tensor Cores-க்கு அனுப்பப்படுகின்றன.

மேலும் செயற்கை நுண்ணறிவு மற்றும் தொழில்நுட்பச் செய்திகள்