Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Llama-3.2-1B-Instruct and InternVL2-1B does not supported kvin4, is that expected? #2786

Open
3 tasks
zhulinJulia24 opened this issue Nov 21, 2024 · 2 comments
Assignees

Comments

@zhulinJulia24
Copy link
Collaborator

Checklist

  • 1. I have searched related issues but cannot get the expected help.
  • 2. The bug has not been fixed in the latest version.
  • 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.

Describe the bug

Llama-3.2-1B-Instruct does not supported kvin4, is that expected?

Reproduction

lmdeploy serve api_server /nvme/qa_test_models/meta-llama/Llama-3.2-1B-Instruct --session-len 8096 --server-port 23335 --tp 1 --quant-policy 4

Environment

sys.platform: linux
Python: 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0]
CUDA available: True
MUSA available: False
numpy_random_seed: 2147483648
GPU 0,1,2,3,4,5,6,7: NVIDIA A100-SXM4-80GB
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 11.8, V11.8.89
GCC: x86_64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
PyTorch: 2.3.0+cu118
PyTorch compiling details: PyTorch built with:
  - GCC 9.3
  - C++ Version: 201703
  - Intel(R) oneAPI Math Kernel Library Version 2022.2-Product Build 20220804 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v3.3.6 (Git Hash 86e6af5974177e513fd3fee58425e1063e7f1361)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - LAPACK is enabled (usually provided by MKL)
  - NNPACK is enabled
  - CPU capability usage: AVX512
  - CUDA Runtime 11.8
  - NVCC architecture flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_90,code=sm_90
  - CuDNN 8.7
  - Magma 2.6.1
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.8, CUDNN_VERSION=8.7.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wsuggest-override -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=2.3.0, USE_CUDA=ON, USE_CUDNN=ON, USE_CUSPARSELT=1, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_GLOO=ON, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF, 

TorchVision: 0.18.0+cu118
LMDeploy: 0.6.2+21f2866
transformers: 4.46.2
gradio: 5.5.0
fastapi: 0.115.4
pydantic: 2.9.2
triton: 2.3.0
NVIDIA Topology: 
	GPU0	GPU1	GPU2	GPU3	GPU4	GPU5	GPU6	GPU7	CPU Affinity	NUMA Affinity
GPU0	 X 	NV12	NV12	NV12	NV12	NV12	NV12	NV12	0-27,56-83	0
GPU1	NV12	 X 	NV12	NV12	NV12	NV12	NV12	NV12	0-27,56-83	0
GPU2	NV12	NV12	 X 	NV12	NV12	NV12	NV12	NV12	0-27,56-83	0
GPU3	NV12	NV12	NV12	 X 	NV12	NV12	NV12	NV12	0-27,56-83	0
GPU4	NV12	NV12	NV12	NV12	 X 	NV12	NV12	NV12	28-55,84-111	1
GPU5	NV12	NV12	NV12	NV12	NV12	 X 	NV12	NV12	28-55,84-111	1
GPU6	NV12	NV12	NV12	NV12	NV12	NV12	 X 	NV12	28-55,84-111	1
GPU7	NV12	NV12	NV12	NV12	NV12	NV12	NV12	 X 	28-55,84-111	1

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

Error traceback

Convert to turbomind format:   0%|          | 0/16 [00:00<?, ?it/s]
Convert to turbomind format:   6%|| 1/16 [00:00<00:11,  1.36it/s]
Convert to turbomind format:  69%|██████▉   | 11/16 [00:00<00:00, 17.35it/s]
                                                                            
[WARNING] gemm_config.in is not found; using default GEMM algo
HINT:    Please open �[93m�[1mhttp://0.0.0.0:23335�[0m in a browser for detailed api usage!!!
HINT:    Please open �[93m�[1mhttp://0.0.0.0:23335�[0m in a browser for detailed api usage!!!
HINT:    Please open �[93m�[1mhttp://0.0.0.0:23335�[0m in a browser for detailed api usage!!!
INFO:     Started server process [96321]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:23335 (Press CTRL+C to quit)
INFO:     127.0.0.1:44438 - "GET /v1/models HTTP/1.1" 200 OK
terminate called after throwing an instance of 'std::runtime_error'
  what():  [TM][ERROR] CUDA runtime error: misaligned address /lmdeploy/src/turbomind/models/llama/LlamaBatch.cc:1292 

Aborted (core dumped)
@zhulinJulia24 zhulinJulia24 changed the title [Bug] Llama-3.2-1B-Instruct does not supported kvin4, is that expected? [Bug] Llama-3.2-1B-Instruct and InternVL2-1B does not supported kvin4, is that expected? Nov 21, 2024
@lvhan028
Copy link
Collaborator

@lzhangzz anything we need to do for kv int4 inference when the head_dim is 64?
@zhulinJulia24 Could you help quantizing llama-3.2-1b-instruct using lmdeploy lite auto_awq and verify its inference as well?

@zhulinJulia24
Copy link
Collaborator Author

@lzhangzz anything we need to do for kv int4 inference when the head_dim is 64? @zhulinJulia24 Could you help quantizing llama-3.2-1b-instruct using lmdeploy lite auto_awq and verify its inference as well?

same error for Llama-3.2-1B-Instruct-4bits and InternVL2-1B-4bits when use kvint4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants