mirror of
https://github.com/huggingface/text-generation-inference.git
synced 2025-04-19 13:52:07 +00:00
* feat(gaudi): add integration test * feat(test): add more models to integration tests * remove debug comments * fix typos
63 lines
2.4 KiB
Makefile
63 lines
2.4 KiB
Makefile
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
|
|
mkfile_dir := $(dir $(mkfile_path))
|
|
root_dir := ${mkfile_dir}/../..
|
|
|
|
HABANA_VERSION := 1.20.0
|
|
PYTORCH_VERSION := 2.6.0
|
|
|
|
.PHONY: image run-local-dev-container install-dependencies install-server install-router install-launcher local-dev-install
|
|
|
|
image:
|
|
docker build -t tgi-gaudi -f ${root_dir}/Dockerfile_gaudi ${root_dir} --build-arg HABANA_VERSION=$(HABANA_VERSION) --build-arg PYTORCH_VERSION=$(PYTORCH_VERSION)
|
|
|
|
run-local-dev-container:
|
|
docker run -it \
|
|
--runtime=habana \
|
|
--ipc=host \
|
|
--cap-add=sys_nice \
|
|
--net=host \
|
|
-e HABANA_VISIBLE_DEVICES=all \
|
|
-e OMPI_MCA_btl_vader_single_copy_mechanism=none \
|
|
-e PT_HPU_ENABLE_LAZY_COLLECTIVES=true \
|
|
-e HF_TOKEN=`cat /home/ubuntu/.cache/huggingface/token` \
|
|
-e LOG_LEVEL=debug \
|
|
-e PORT=8080 \
|
|
-v /home/ubuntu/.cache/huggingface:/data \
|
|
-v $(PWD):/text-generation-inference \
|
|
-w /text-generation-inference \
|
|
vault.habana.ai/gaudi-docker/$(HABANA_VERSION)/ubuntu22.04/habanalabs/pytorch-installer-$(PYTORCH_VERSION):latest
|
|
|
|
install-dependencies:
|
|
pip install git+https://github.com/HabanaAI/DeepSpeed.git@$(HABANA_VERSION)
|
|
pip install outlines~=0.0.34
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
|
|
install-server:
|
|
make -C ${root_dir}/backends/gaudi/server install PROTO_PATH=../../../proto/v3
|
|
|
|
install-router:
|
|
make -C ${root_dir} install-router
|
|
|
|
install-launcher:
|
|
make -C ${root_dir} install-launcher
|
|
|
|
# use source to load the rust in path
|
|
local-dev-install: install-dependencies
|
|
bash -c 'source "$$HOME/.cargo/env" && \
|
|
make install-server && \
|
|
make install-router && \
|
|
make install-launcher'
|
|
|
|
# In order to run the integration tests, you need to first build the image (make -C backends/gaudi image)
|
|
run-integration-tests:
|
|
uv pip install -r ${root_dir}/backends/gaudi/server/integration-tests/requirements.txt
|
|
DOCKER_VOLUME=${root_dir}/data \
|
|
HF_TOKEN=`cat ${HOME}/.cache/huggingface/token` \
|
|
uv run pytest --durations=0 -sv ${root_dir}/backends/gaudi/server/integration-tests
|
|
|
|
# This is used to capture the expected outputs for the integration tests offering an easy way to add more models to the integration tests
|
|
capture-expected-outputs-for-integration-tests:
|
|
DOCKER_VOLUME=${root_dir}/data \
|
|
HF_TOKEN=`cat ${HOME}/.cache/huggingface/token` \
|
|
uv run pytest --durations=0 -sv ${root_dir}/backends/gaudi/server/integration-tests/capture_expected_outputs.py
|