Update benchmark util for example using (#11027)
* mv benchmark_util.py to utils/ * remove * update
This commit is contained in:
parent
86cec80b51
commit
d9f71f1f53
7 changed files with 8 additions and 4803 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
# Benchmark tool for transformers int4 (separate 1st token and rest)
|
# Benchmark tool for transformers int4 (separate 1st token and rest)
|
||||||
|
|
||||||
`benchmark_util.py` is used to provide a simple benchmark tool for transformer int4 model to calculate 1st token performance and the rest on CPU and GPU.
|
[benchmark_util.py](https://github.com/intel-analytics/ipex-llm/tree/main/python/llm/src/ipex_llm/utils/benchmark_util.py) is used to provide a simple benchmark tool for transformer int4 model to calculate 1st token performance and the rest on CPU and GPU.
|
||||||
|
|
||||||
## CPU Usage
|
## CPU Usage
|
||||||
Just put this file into your benchmark directory, and then wrap your transformer int4 model with `BenchmarkWrapper` (`model = BenchmarkWrapper(model)`).
|
Just put this file into your benchmark directory, and then wrap your transformer int4 model with `BenchmarkWrapper` (`model = BenchmarkWrapper(model)`).
|
||||||
|
|
@ -9,7 +9,7 @@ Take `chatglm-6b` as an example:
|
||||||
import torch
|
import torch
|
||||||
from ipex_llm.transformers import AutoModel
|
from ipex_llm.transformers import AutoModel
|
||||||
from transformers import AutoTokenizer
|
from transformers import AutoTokenizer
|
||||||
from benchmark_util import BenchmarkWrapper
|
from ipex_llm.utils.benchmark_util import BenchmarkWrapper
|
||||||
|
|
||||||
model_path ='THUDM/chatglm-6b'
|
model_path ='THUDM/chatglm-6b'
|
||||||
model = AutoModel.from_pretrained(model_path, trust_remote_code=True, load_in_4bit=True)
|
model = AutoModel.from_pretrained(model_path, trust_remote_code=True, load_in_4bit=True)
|
||||||
|
|
@ -37,7 +37,7 @@ import torch
|
||||||
import intel_extension_for_pytorch as ipex
|
import intel_extension_for_pytorch as ipex
|
||||||
from ipex_llm.transformers import AutoModel
|
from ipex_llm.transformers import AutoModel
|
||||||
from transformers import AutoTokenizer
|
from transformers import AutoTokenizer
|
||||||
from benchmark_util import BenchmarkWrapper
|
from ipex_llm.utils.benchmark_util import BenchmarkWrapper
|
||||||
|
|
||||||
model_path ='THUDM/chatglm-6b'
|
model_path ='THUDM/chatglm-6b'
|
||||||
model = AutoModel.from_pretrained(model_path, trust_remote_code=True, load_in_4bit=True)
|
model = AutoModel.from_pretrained(model_path, trust_remote_code=True, load_in_4bit=True)
|
||||||
|
|
@ -66,7 +66,7 @@ For example, just need to apply following code patch on [Deepspeed Autotp exampl
|
||||||
import torch
|
import torch
|
||||||
import transformers
|
import transformers
|
||||||
import deepspeed
|
import deepspeed
|
||||||
+from benchmark_util import BenchmarkWrapper
|
+from ipex_llm.utils.benchmark_util import BenchmarkWrapper
|
||||||
|
|
||||||
def get_int_from_env(env_keys, default):
|
def get_int_from_env(env_keys, default):
|
||||||
"""Returns the first positive env value found in the `env_keys` list or the default."""
|
"""Returns the first positive env value found in the `env_keys` list or the default."""
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,8 @@ from datetime import date
|
||||||
|
|
||||||
import os
|
import os
|
||||||
current_dir = os.path.dirname(os.path.realpath(__file__))
|
current_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
benchmark_util_path = os.path.join(current_dir, '..')
|
|
||||||
import sys
|
import sys
|
||||||
sys.path.append(benchmark_util_path)
|
from ipex_llm.utils.benchmark_util import BenchmarkWrapper
|
||||||
from benchmark_util import BenchmarkWrapper
|
|
||||||
from ipex_llm.utils.common.log4Error import invalidInputError
|
from ipex_llm.utils.common.log4Error import invalidInputError
|
||||||
|
|
||||||
LLAMA_IDS = ['meta-llama/Llama-2-7b-chat-hf','meta-llama/Llama-2-13b-chat-hf',
|
LLAMA_IDS = ['meta-llama/Llama-2-7b-chat-hf','meta-llama/Llama-2-13b-chat-hf',
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,8 @@ from datetime import date
|
||||||
|
|
||||||
import os
|
import os
|
||||||
current_dir = os.path.dirname(os.path.realpath(__file__))
|
current_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
benchmark_util_path = os.path.join(current_dir, '..')
|
|
||||||
import sys
|
import sys
|
||||||
sys.path.append(benchmark_util_path)
|
from ipex_llm.utils.benchmark_util import BenchmarkWrapper
|
||||||
from benchmark_util import BenchmarkWrapper
|
|
||||||
from ipex_llm.utils.common.log4Error import invalidInputError
|
from ipex_llm.utils.common.log4Error import invalidInputError
|
||||||
from ipex_llm.utils.common import invalidInputError
|
from ipex_llm.utils.common import invalidInputError
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||||
PYTHON_ROOT_DIR="$SCRIPT_DIR/.."
|
PYTHON_ROOT_DIR="$SCRIPT_DIR/.."
|
||||||
echo $PYTHON_ROOT_DIR
|
echo $PYTHON_ROOT_DIR
|
||||||
PATHS_TO_CHECK="$SCRIPT_DIR/../../src"
|
PATHS_TO_CHECK="$SCRIPT_DIR/../../src"
|
||||||
PATTERNS_TO_EXCLUDE="__init__.py,log4Error.py,$SCRIPT_DIR/../../src/ipex_llm/langchain/*,$SCRIPT_DIR/../../src/ipex_llm/transformers/gguf/models/model_implement/yuan2/*"
|
PATTERNS_TO_EXCLUDE="__init__.py,log4Error.py,$SCRIPT_DIR/../../src/ipex_llm/langchain/*,$SCRIPT_DIR/../../src/ipex_llm/transformers/gguf/models/model_implement/yuan2/*,benchmark_util.py"
|
||||||
PEP8_REPORT_PATH="$PYTHON_ROOT_DIR/test/pep8-report.txt"
|
PEP8_REPORT_PATH="$PYTHON_ROOT_DIR/test/pep8-report.txt"
|
||||||
PYLINT_REPORT_PATH="$PYTHON_ROOT_DIR/test/pylint-report.txt"
|
PYLINT_REPORT_PATH="$PYTHON_ROOT_DIR/test/pylint-report.txt"
|
||||||
PYLINT_INSTALL_INFO="$PYTHON_ROOT_DIR/test/pylint-info.txt"
|
PYLINT_INSTALL_INFO="$PYTHON_ROOT_DIR/test/pylint-info.txt"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -31,7 +31,7 @@ from typing import Dict, List, Optional
|
||||||
from transformers.utils import logging
|
from transformers.utils import logging
|
||||||
logger = logging.get_logger(__name__)
|
logger = logging.get_logger(__name__)
|
||||||
|
|
||||||
from benchmark_util import BenchmarkWrapper
|
from ipex_llm.utils.benchmark_util import BenchmarkWrapper
|
||||||
|
|
||||||
|
|
||||||
def get_int_from_env(env_keys, default):
|
def get_int_from_env(env_keys, default):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue