mirror of
https://github.com/huggingface/transformers.git
synced 2025-07-04 05:10:06 +06:00
Fix Cohere CI (#31263)
* [run-slow] cohere * [run-slow] cohere * [run-slow] cohere --------- Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>
This commit is contained in:
parent
dc6eb44841
commit
8fff07ded0
5
.github/workflows/self-pr-slow-ci.yml
vendored
5
.github/workflows/self-pr-slow-ci.yml
vendored
@ -110,7 +110,10 @@ jobs:
|
|||||||
|
|
||||||
- name: Run all tests on GPU
|
- name: Run all tests on GPU
|
||||||
working-directory: /transformers
|
working-directory: /transformers
|
||||||
run: python3 -m pytest -v -rsfE --make-reports=${{ matrix.machine_type }}_run_models_gpu_${{ matrix.folders }}_test_reports tests/${{ matrix.folders }}
|
run: |
|
||||||
|
export CUDA_VISIBLE_DEVICES="$(python3 utils/set_cuda_devices_for_ci.py --test_folder ${{ matrix.folders }})"
|
||||||
|
echo $CUDA_VISIBLE_DEVICES
|
||||||
|
python3 -m pytest -v -rsfE --make-reports=${{ matrix.machine_type }}_run_models_gpu_${{ matrix.folders }}_test_reports tests/${{ matrix.folders }}
|
||||||
|
|
||||||
- name: Failure short reports
|
- name: Failure short reports
|
||||||
if: ${{ failure() }}
|
if: ${{ failure() }}
|
||||||
|
@ -291,6 +291,14 @@ class CohereModelTest(ModelTesterMixin, GenerationTesterMixin, PipelineTesterMix
|
|||||||
self.model_tester = CohereModelTester(self)
|
self.model_tester = CohereModelTester(self)
|
||||||
self.config_tester = ConfigTester(self, config_class=CohereConfig, hidden_size=37)
|
self.config_tester = ConfigTester(self, config_class=CohereConfig, hidden_size=37)
|
||||||
|
|
||||||
|
@unittest.skip("Failing. Issue opened in #31351")
|
||||||
|
def test_initialization(self):
|
||||||
|
super().test_initialization()
|
||||||
|
|
||||||
|
@unittest.skip("Failing. Issue opened in #31351")
|
||||||
|
def test_fast_init_context_manager(self):
|
||||||
|
super().test_fast_init_context_manager()
|
||||||
|
|
||||||
def test_config(self):
|
def test_config(self):
|
||||||
self.config_tester.run_common_tests()
|
self.config_tester.run_common_tests()
|
||||||
|
|
||||||
@ -373,10 +381,10 @@ class CohereIntegrationTest(unittest.TestCase):
|
|||||||
|
|
||||||
EXPECTED_TEXT = [
|
EXPECTED_TEXT = [
|
||||||
'Hello today I am going to show you how to make a simple and easy card using the new stamp set called "Hello" from the Occasions catalog. This set is so versatile and can be used for many occasions. I used the new In',
|
'Hello today I am going to show you how to make a simple and easy card using the new stamp set called "Hello" from the Occasions catalog. This set is so versatile and can be used for many occasions. I used the new In',
|
||||||
"Hi there, here we are again with another great collection of free fonts. This time we have gathered 10 free fonts that you can download and use in your designs. These fonts are free for personal and commercial use. So",
|
"Hi there, here we are again with another great collection of free fonts for your next project. This time we have gathered 10 free fonts that you can download and use in your designs. These fonts are perfect for any kind",
|
||||||
]
|
]
|
||||||
|
|
||||||
model = CohereForCausalLM.from_pretrained(model_id)
|
model = CohereForCausalLM.from_pretrained(model_id, device_map="auto")
|
||||||
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
||||||
|
|
||||||
tokenizer.pad_token = tokenizer.eos_token
|
tokenizer.pad_token = tokenizer.eos_token
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from transformers import CohereTokenizerFast
|
from transformers import CohereTokenizerFast
|
||||||
from transformers.testing_utils import require_jinja, require_tokenizers
|
from transformers.testing_utils import require_jinja, require_tokenizers, require_torch_multi_gpu
|
||||||
|
|
||||||
from ...test_tokenization_common import TokenizerTesterMixin
|
from ...test_tokenization_common import TokenizerTesterMixin
|
||||||
|
|
||||||
@ -46,6 +46,11 @@ class CohereTokenizationTest(TokenizerTesterMixin, unittest.TestCase):
|
|||||||
kwargs.update(self.special_tokens_map)
|
kwargs.update(self.special_tokens_map)
|
||||||
return CohereTokenizerFast.from_pretrained(self.tmpdirname, **kwargs)
|
return CohereTokenizerFast.from_pretrained(self.tmpdirname, **kwargs)
|
||||||
|
|
||||||
|
# This gives CPU OOM on a single-gpu runner (~60G RAM). On multi-gpu runner, it has ~180G RAM which is enough.
|
||||||
|
@require_torch_multi_gpu
|
||||||
|
def test_torch_encode_plus_sent_to_model(self):
|
||||||
|
super().test_torch_encode_plus_sent_to_model()
|
||||||
|
|
||||||
@unittest.skip("This needs a slow tokenizer. Cohere does not have one!")
|
@unittest.skip("This needs a slow tokenizer. Cohere does not have one!")
|
||||||
def test_encode_decode_with_spaces(self):
|
def test_encode_decode_with_spaces(self):
|
||||||
return
|
return
|
||||||
|
26
utils/set_cuda_devices_for_ci.py
Normal file
26
utils/set_cuda_devices_for_ci.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
"""A simple script to set flexibly CUDA_VISIBLE_DEVICES in GitHub Actions CI workflow files."""
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
"--test_folder",
|
||||||
|
type=str,
|
||||||
|
default=None,
|
||||||
|
help="The test folder name of the model being tested. For example, `models/cohere`.",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# `test_eager_matches_sdpa_generate` for `cohere` needs a lot of GPU memory!
|
||||||
|
# This depends on the runners. At this moment we are targeting our AWS CI runners.
|
||||||
|
if args.test_folder == "models/cohere":
|
||||||
|
cuda_visible_devices = "0,1,2,3"
|
||||||
|
elif "CUDA_VISIBLE_DEVICES" in os.environ:
|
||||||
|
cuda_visible_devices = os.environ.get("CUDA_VISIBLE_DEVICES")
|
||||||
|
else:
|
||||||
|
cuda_visible_devices = "0"
|
||||||
|
|
||||||
|
print(cuda_visible_devices)
|
Loading…
Reference in New Issue
Block a user