From 336f9a83f0a7d91f096b5fd513e7e255f179d68b Mon Sep 17 00:00:00 2001 From: Lewis Tunstall Date: Wed, 25 Oct 2023 09:28:01 +0000 Subject: [PATCH 1/6] Add H4 adapter --- fastchat/model/model_adapter.py | 35 ++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/fastchat/model/model_adapter.py b/fastchat/model/model_adapter.py index 148ccc0cb..78637b6b6 100644 --- a/fastchat/model/model_adapter.py +++ b/fastchat/model/model_adapter.py @@ -171,6 +171,7 @@ def load_model( """Load a model from Hugging Face.""" # get model adapter adapter = get_model_adapter(model_path) + print(f"Using model adapter: {adapter.__class__.__name__} for model path {model_path} and revision {revision}") # Handle device mapping cpu_offloading = raise_warning_for_incompatible_cpu_offloading_configuration( @@ -1292,20 +1293,20 @@ def get_default_conv_template(self, model_path: str) -> Conversation: return get_conv_template("starchat") -class MistralAdapter(BaseModelAdapter): - """The model adapter for Mistral AI models""" +# class MistralAdapter(BaseModelAdapter): +# """The model adapter for Mistral AI models""" - def match(self, model_path: str): - return "mistral" in model_path.lower() +# def match(self, model_path: str): +# return "mistral" in model_path.lower() - def load_model(self, model_path: str, from_pretrained_kwargs: dict): - model, tokenizer = super().load_model(model_path, from_pretrained_kwargs) - model.config.eos_token_id = tokenizer.eos_token_id - model.config.pad_token_id = tokenizer.pad_token_id - return model, tokenizer +# def load_model(self, model_path: str, from_pretrained_kwargs: dict): +# model, tokenizer = super().load_model(model_path, from_pretrained_kwargs) +# model.config.eos_token_id = tokenizer.eos_token_id +# model.config.pad_token_id = tokenizer.pad_token_id +# return model, tokenizer - def get_default_conv_template(self, model_path: str) -> Conversation: - return get_conv_template("mistral") +# def get_default_conv_template(self, model_path: str) -> Conversation: +# return get_conv_template("mistral") class Llama2Adapter(BaseModelAdapter): @@ -1680,6 +1681,15 @@ def match(self, model_path: str): def get_default_conv_template(self, model_path: str) -> Conversation: return get_conv_template("zephyr") +class H4MistralAdapter(BaseModelAdapter): + """The model adapter for H4 Mistral models""" + + def match(self, model_path: str): + return "mistral" in model_path.lower() + + def get_default_conv_template(self, model_path: str) -> Conversation: + return get_conv_template("zephyr") + class XwinLMAdapter(BaseModelAdapter): """The model adapter for Xwin-LM V0.1 and V0.2 series of models(e.g., Xwin-LM/Xwin-LM-70B-V0.1)""" @@ -1737,7 +1747,7 @@ def get_default_conv_template(self, model_path: str) -> Conversation: register_model_adapter(InternLMChatAdapter) register_model_adapter(StarChatAdapter) register_model_adapter(Llama2Adapter) -register_model_adapter(MistralAdapter) +# register_model_adapter(MistralAdapter) register_model_adapter(CuteGPTAdapter) register_model_adapter(OpenOrcaAdapter) register_model_adapter(WizardCoderAdapter) @@ -1755,6 +1765,7 @@ def get_default_conv_template(self, model_path: str) -> Conversation: register_model_adapter(Llama2ChangAdapter) register_model_adapter(ZephyrAdapter) register_model_adapter(XwinLMAdapter) +register_model_adapter(H4MistralAdapter) # After all adapters, try the default base adapter. register_model_adapter(BaseModelAdapter) From 176d26d12c313a1e0c55ef878639158209e08164 Mon Sep 17 00:00:00 2001 From: Lewis Tunstall Date: Thu, 23 Nov 2023 09:27:08 +0000 Subject: [PATCH 2/6] Restore Mistral adapter --- .gitignore | 3 +++ fastchat/model/model_adapter.py | 26 +++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 94b6e614d..82276c686 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ tests/state_of_the_union.txt # Build build + +# Data +fastchat/llm_judge/data/ \ No newline at end of file diff --git a/fastchat/model/model_adapter.py b/fastchat/model/model_adapter.py index a7539f134..0f8ab6baf 100644 --- a/fastchat/model/model_adapter.py +++ b/fastchat/model/model_adapter.py @@ -1388,20 +1388,20 @@ def get_default_conv_template(self, model_path: str) -> Conversation: return get_conv_template("starchat") -# class MistralAdapter(BaseModelAdapter): -# """The model adapter for Mistral AI models""" +class MistralAdapter(BaseModelAdapter): + """The model adapter for Mistral AI models""" -# def match(self, model_path: str): -# return "mistral" in model_path.lower() + def match(self, model_path: str): + return "mistral" in model_path.lower() -# def load_model(self, model_path: str, from_pretrained_kwargs: dict): -# model, tokenizer = super().load_model(model_path, from_pretrained_kwargs) -# model.config.eos_token_id = tokenizer.eos_token_id -# model.config.pad_token_id = tokenizer.pad_token_id -# return model, tokenizer + def load_model(self, model_path: str, from_pretrained_kwargs: dict): + model, tokenizer = super().load_model(model_path, from_pretrained_kwargs) + model.config.eos_token_id = tokenizer.eos_token_id + model.config.pad_token_id = tokenizer.pad_token_id + return model, tokenizer -# def get_default_conv_template(self, model_path: str) -> Conversation: -# return get_conv_template("mistral") + def get_default_conv_template(self, model_path: str) -> Conversation: + return get_conv_template("mistral") class Llama2Adapter(BaseModelAdapter): @@ -1839,7 +1839,7 @@ class H4MistralAdapter(BaseModelAdapter): """The model adapter for H4 Mistral models""" def match(self, model_path: str): - return "mistral" in model_path.lower() + return "HuggingFaceH4/mistral" in model_path.lower() def get_default_conv_template(self, model_path: str) -> Conversation: return get_conv_template("zephyr") @@ -1953,7 +1953,7 @@ def get_default_conv_template(self, model_path: str) -> Conversation: register_model_adapter(InternLMChatAdapter) register_model_adapter(StarChatAdapter) register_model_adapter(Llama2Adapter) -# register_model_adapter(MistralAdapter) +register_model_adapter(MistralAdapter) register_model_adapter(CuteGPTAdapter) register_model_adapter(OpenOrcaAdapter) register_model_adapter(MistralAdapter) From d0ae0dd1b5faff094f6e5e22bfd49db8be81a46c Mon Sep 17 00:00:00 2001 From: Lewis Tunstall Date: Thu, 23 Nov 2023 09:28:12 +0000 Subject: [PATCH 3/6] Fix --- fastchat/model/model_adapter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fastchat/model/model_adapter.py b/fastchat/model/model_adapter.py index 0f8ab6baf..e52ed4017 100644 --- a/fastchat/model/model_adapter.py +++ b/fastchat/model/model_adapter.py @@ -1953,7 +1953,6 @@ def get_default_conv_template(self, model_path: str) -> Conversation: register_model_adapter(InternLMChatAdapter) register_model_adapter(StarChatAdapter) register_model_adapter(Llama2Adapter) -register_model_adapter(MistralAdapter) register_model_adapter(CuteGPTAdapter) register_model_adapter(OpenOrcaAdapter) register_model_adapter(MistralAdapter) From 1fd1a98a6269cee35f3f6fb50451476afef6da27 Mon Sep 17 00:00:00 2001 From: Lewis Tunstall Date: Thu, 23 Nov 2023 09:29:58 +0000 Subject: [PATCH 4/6] Disable configmation --- fastchat/llm_judge/gen_judgment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastchat/llm_judge/gen_judgment.py b/fastchat/llm_judge/gen_judgment.py index a1c70b295..7b1b18116 100644 --- a/fastchat/llm_judge/gen_judgment.py +++ b/fastchat/llm_judge/gen_judgment.py @@ -301,7 +301,7 @@ def make_judge_single(judge_model, judge_prompts): # Show match stats and prompt enter to continue print("Stats:") print(json.dumps(match_stat, indent=4)) - input("Press Enter to confirm...") + # input("Press Enter to confirm...") # Play matches if args.parallel == 1: From e15bae6ad062351b3c0fdc6a2f839b13e51f0e97 Mon Sep 17 00:00:00 2001 From: Lewis Tunstall Date: Thu, 23 Nov 2023 12:10:12 +0000 Subject: [PATCH 5/6] Add table --- fastchat/llm_judge/run.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 fastchat/llm_judge/run.sh diff --git a/fastchat/llm_judge/run.sh b/fastchat/llm_judge/run.sh new file mode 100755 index 000000000..db9938a64 --- /dev/null +++ b/fastchat/llm_judge/run.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -x -e +HUB_MODEL_ID=$1 +MT_BENCH_ID=$2 +[ -z "$3" ] && DTYPR="float16" || DTYPE=$3 + +# Generate answer +python gen_model_answer.py --model-path $HUB_MODEL_ID --model-id $MT_BENCH_ID --dtype $DTYPE + +# Judge! +python gen_judgment.py --model-list $MT_BENCH_ID + +# Get results +python show_result.py \ No newline at end of file From ed40de49b84c8750a4449c27e22b3b0df3ae57fc Mon Sep 17 00:00:00 2001 From: Lewis Tunstall Date: Thu, 23 Nov 2023 13:36:02 +0000 Subject: [PATCH 6/6] Fix script --- fastchat/llm_judge/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastchat/llm_judge/run.sh b/fastchat/llm_judge/run.sh index db9938a64..f7f6a319b 100755 --- a/fastchat/llm_judge/run.sh +++ b/fastchat/llm_judge/run.sh @@ -3,7 +3,7 @@ set -x -e HUB_MODEL_ID=$1 MT_BENCH_ID=$2 -[ -z "$3" ] && DTYPR="float16" || DTYPE=$3 +[ -z "$3" ] && DTYPE="float16" || DTYPE=$3 # Generate answer python gen_model_answer.py --model-path $HUB_MODEL_ID --model-id $MT_BENCH_ID --dtype $DTYPE