Skip to content

Commit

Permalink
Add 01-ai/Yi-6B (#2037)
Browse files Browse the repository at this point in the history
Summary:
Add the model to canary as its CPU test exceeds time limit and GPU test will OOM on A100.

Pull Request resolved: #2037

Reviewed By: aaronenyeshi

Differential Revision: D51356557

Pulled By: xuzhao9

fbshipit-source-id: f462c27b787bb81fae3cf0631a001799ae462f6f
  • Loading branch information
MaanavD authored and facebook-github-bot committed Nov 15, 2023
1 parent 7d3f6f0 commit d1d71d5
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 2 deletions.
17 changes: 17 additions & 0 deletions torchbenchmark/canary_models/hf_Yi/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from torchbenchmark.tasks import NLP
from torchbenchmark.util.framework.huggingface.model_factory import HuggingFaceModel

class Model(HuggingFaceModel):
task = NLP.LANGUAGE_MODELING
# DEFAULT_TRAIN_BSIZE not specified since we're not implementing a train test
# DEFAULT_TRAIN_BSIZE = 1
DEFAULT_EVAL_BSIZE = 1

def __init__(self, test, device, batch_size=None, extra_args=[]):
super().__init__(name="hf_Yi", test=test, device=device, batch_size=batch_size, extra_args=extra_args)

def train(self):
return NotImplementedError("Not implemented")

def eval(self):
super().eval()
13 changes: 13 additions & 0 deletions torchbenchmark/canary_models/hf_Yi/install.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import subprocess
import sys
import os
from torchbenchmark.util.framework.huggingface.patch_hf import patch_transformers, cache_model

def pip_install_requirements():
subprocess.check_call([sys.executable, '-m', 'pip', 'install', '-q', '-r', 'requirements.txt'])

if __name__ == '__main__':
pip_install_requirements()
patch_transformers()
model_name = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
cache_model(model_name, trust_remote_code=True)
11 changes: 11 additions & 0 deletions torchbenchmark/canary_models/hf_Yi/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
devices:
NVIDIA A100-SXM4-40GB:
eval_batch_size: 1
eval_benchmark: false
eval_deterministic: false
eval_nograd: true
train_benchmark: false
train_deterministic: false
not_implemented:
- device: NVIDIA A10G
# - device: cpu
1 change: 1 addition & 0 deletions torchbenchmark/canary_models/hf_Yi/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
numba
6 changes: 4 additions & 2 deletions torchbenchmark/util/framework/huggingface/model_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
'llama_v2_7b' : (512,512, 'AutoConfig.from_pretrained("meta-llama/Llama-2-7b-hf")', 'AutoModelForCausalLM'),
'llama_v2_13b' : (512,512, 'AutoConfig.from_pretrained("meta-llama/Llama-2-13b-hf")', 'AutoModelForCausalLM'),
'llama_v2_70b' : (512, 512, 'AutoConfig.from_pretrained("meta-llama/Llama-2-70b-hf")', 'AutoModelForMaskedLM'),
'phi_1_5' : (512, 512, 'AutoConfig.from_pretrained("microsoft/phi-1_5", trust_remote_code=True)', 'AutoModelForCausalLM')
'phi_1_5' : (512, 512, 'AutoConfig.from_pretrained("microsoft/phi-1_5", trust_remote_code=True)', 'AutoModelForCausalLM'),
'hf_Yi' : (512, 512, 'AutoConfig.from_pretrained("01-ai/Yi-6B", trust_remote_code=True)', 'AutoModelForCausalLM'),
}

cpu_input_slice = {
Expand Down Expand Up @@ -86,7 +87,8 @@ def __init__(self, name, test, device, batch_size=None, extra_args=[]):
config.num_buckets = 128
class_ctor = getattr(transformers, class_models[name][3])
kwargs = {}
if name == "hf_Falcon_7b" or name == "hf_MPT_7b_instruct" or name == "phi_1_5":
remote_code_required = ['hf_Falcon_7b', 'hf_MPT_7b_instruct', 'phi_1_5', 'hf_Yi']
if name in remote_code_required:
kwargs["trust_remote_code"] = True
self.model = class_ctor.from_config(config, **kwargs).to(device)
self.optimizer = optim.Adam(
Expand Down

0 comments on commit d1d71d5

Please sign in to comment.