Implement chunked processing for LayerNorm, QKV projection, and MLP layers to reduce peak activation memory for 64k sequence inference. Changes: - Chunked input_layernorm and post_attention_layernorm (chunk_size=128) - Chunked QKV projection (chunk_size=128) - Chunked MLP processing (chunk_size=128) with memory cleanup - Added torch.cuda.empty_cache() calls after each chunk This reduces peak activation from ~2 GB to ~50 MB per layer, making 64k inference theoretically possible on 24GB GPUs (though still limited by memory fragmentation). Related: docs/64k_memory_analysis.md Co-Authored-By: Claude <noreply@anthropic.com>
62 KiB
62 KiB