Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OPT-fix #17229

Merged
merged 4 commits into from
May 13, 2022
Merged

OPT-fix #17229

merged 4 commits into from
May 13, 2022

Conversation

younesbelkada
Copy link
Contributor

What does this PR do?

Quicklly fxing 3 testing issues!

cc @patrickvonplaten @ydshieh

@patrickvonplaten
Copy link
Contributor

Ok let's merge this one first and then I'll rebase mine here: #17228

@@ -348,8 +348,8 @@ def test_generation(self):
GEN_OUTPUT = []

tokenizer = GPT2Tokenizer.from_pretrained("patrickvonplaten/opt_gpt2_tokenizer")
for model in self.all_model_path:
Copy link
Contributor

@patrickvonplaten patrickvonplaten May 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually can you revert this one? I'll correct the generation test here: #17228

@patrickvonplaten
Copy link
Contributor

@younesbelkada can you also replace:

 tokenizer = GPT2Tokenizer.from_pretrained("patrickvonplaten/opt_gpt2_tokenizer")

in the embedding test with

 tokenizer = GPT2Tokenizer.from_pretrained(self.path_model)

@HuggingFaceDocBuilderDev
Copy link

HuggingFaceDocBuilderDev commented May 13, 2022

The documentation is not available anymore as the PR was closed or merged.

@ydshieh
Copy link
Collaborator

ydshieh commented May 13, 2022

Hi, just a nit:

This line under OPTGenerationTest

model = OPTForCausalLM.from_pretrained(self.path_model)

has self.path_model undefined.

@ydshieh
Copy link
Collaborator

ydshieh commented May 13, 2022

And there are still 2 patrickvonplaten/opt_gpt2_tokenizer in the current version, but probably these are intended? I will leave this part for you ang Patrick.

@@ -281,7 +281,7 @@ def test_inference_no_head(self):
attention_mask = input_ids.ne(model.config.pad_token_id)
with torch.no_grad():
output = model(input_ids=input_ids, attention_mask=attention_mask).last_hidden_state
expected_shape = torch.Size((1, 11, 1024))
expected_shape = torch.Size((1, 11, 512))
Copy link
Collaborator

@ydshieh ydshieh May 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand very well why it is expected to be 512.

Fomr config, I see

 "hidden_size": 1024,
 "word_embed_proj_dim": 512,

So any special reason for last_hidden_state to be 512? It looks unusual if it is intended to be so - therefore a comment would be very helpful in this casee.

Copy link
Contributor Author

@younesbelkada younesbelkada May 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If my understanding is correct, for some particular cases in OPT - the word embeddings have a different size than the dimension of the internal hidden states. That is why in the config file you have the word_embed_proj_dim arg.
So basically the hidden states that are computed here including the last hidden states will have a dimension of word_embed_proj_dim. The conversion from hidden_size to word_embed_proj_dim is ensured by the self.project_out and self.project_in modules. Basically this happens only when hidden_size is different than word_embed_proj_dim which is the case in OPT-350m.

Copy link
Collaborator

@ydshieh ydshieh May 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @younesbelkada , I understand very well now 😄. I still think it would be a very good idea to add a (short) comment about what you mentioned above.

Regarding this, I personally think it would be much better to have something like:

@dataclass
class OPTModelOutput(ModelOutput):

    last_hidden_state  = None
    projected_word_embedding = None  # or whatever better name
   ... (remaining fields )

and use this for OPTDecoder/OPTModel.

I will leave @patrickvonplaten and @LysandreJik to judge though, they have much more experience than me.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@younesbelkada is right here I think :-) But always good to double check!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I still expect a comment to be included in the code 😢

@patrickvonplaten patrickvonplaten merged commit dfc7601 into huggingface:main May 13, 2022
@patrickvonplaten patrickvonplaten deleted the opt-fix branch May 13, 2022 13:14
LysandreJik pushed a commit that referenced this pull request May 16, 2022
* try fixes

* Revert "try fixes"

This reverts commit a8ad75e.

* add correct shape

* add correct path
Narsil pushed a commit to Narsil/transformers that referenced this pull request May 30, 2022
fix tokenizer autodoc

fix minor CI issues

fix minor CI issues

fix minor CI issues

fix style issue

fix minor import issues

fix few issues

remove def main on the test

add require torch

replace decorator with 'with'

fix style

change to bloom

add quick fix tokenizer

fix tokenizer file

fix tokenizer

- merge tests
- small fixes

fix import issue

add bloom to readme

fix consistency

Update docs/source/en/model_doc/bloom.mdx

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

Apply suggestions from code review

fix comment issues on file headers

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

fix doc issue

small fix - modeling test

some changes

- refactor some code
- taking into account reviews
- more tests should pass
- removed pruning tests

remove useless division

more tests should pass

more tests should pass

more tests should pass

let's try this one

-add alibi offset
- remove all permutes to make the grad operations work
- finger crossed

Update data2vec.mdx to include a Colab Notebook link (that shows fine-tuning) (huggingface#17194)

* Update data2vec.mdx

* Update data2vec.mdx

* Update docs/source/en/model_doc/data2vec.mdx

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

Dev version

Add test to ensure models can take int64 inputs (huggingface#17210)

* Add test to ensure models can take int64 inputs

* is_integer is an attribute, not a method

* Fix test when some inputs aren't tensors

* Add casts to blenderbot and blenderbot-small

* Add casts to the other failing models

Fix dependency table

update BART docs (huggingface#17212)

Black preview (huggingface#17217)

* Black preview

* Fixup too!

* Fix check copies

* Use the same version as the CI

* Bump black

Fix typo in bug report template (huggingface#17178)

* Fix typo

* Force rerun workflows

Co-authored-by: Felix Marty <felix@huggingface.co>

Added translation of installation.mdx to Portuguese Issue huggingface#16824 (huggingface#16979)

* Added translation of installation.mdx to Portuguese, as well
as default templates of _toctree.yml and _config.py

* [ build_documentation.yml ] - Updated doc_builder to build
documentation in Portuguese.
[ pipeline_tutorial.mdx ] - Created translation for the pipeline_tutorial.mdx.

* [ build_pr_documentation.yml ] - Added pt language to pr_documentation builder.

[ pipeline_tutorial.mdx ] - Grammar changes.

* [ accelerate.mdx ] - Translated to Portuguese the acceleration tutorial.

* [ multilingual.mdx ] - Added portuguese translation for multilingual tutorial.

[ training.mdx ] - Added portuguese translation for training tutorial.

* [ preprocessing.mdx ] - WIP

* Update _toctree.yml

* Adding Pré-processamento to _toctree.yml

* Update accelerate.mdx

* Nits and eliminate preprocessing file while it is ready

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

OPT-fix (huggingface#17229)

* try fixes

* Revert "try fixes"

This reverts commit a8ad75e.

* add correct shape

* add correct path

OPT - fix docstring and improve tests slighly (huggingface#17228)

* correct some stuff

* fix doc tests

* make style

Update self-push workflow (huggingface#17177)

* update push ci

* install git-python

* update comment

* update deepspeed jobs

* fix report

* skip 2 more tests that require fairscale

* Fix changes in test_fetcher.py (to deal with `setup.py` is changed)

* set RUN_PT_TF_CROSS_TESTS=1 and final clean-up

* remove SIGOPT_API_TOKEN

* remove echo "$matrix_folders"

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

fix --gpus option for docker (huggingface#17235)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

Handle copyright in add-new-model-like (huggingface#17218)

Fix Trainer for Datasets that don't have dict items (huggingface#17239)

install dev. version of accelerate (huggingface#17243)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

Fix push CI channel (huggingface#17242)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

Add PR title to push CI report (huggingface#17246)

* add PR title to push CI report

* add link

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

[ fast_tokenizers.mdx ] - Added translation to portuguese to tutorial (huggingface#17076)

* [ fast_tokenizers.mdx ] - Added translation to portuguese to tutorial

* Delete docs/source/pt-br directory

* [ fast_tokenizers.mdx ] - Continuing work on file

* [ fast_tokenizers.mdx ] - Continuing work on file

* Add fast tokenizers to _toctree.yml

* Eliminated config and toctree.yml

* Nits in fast_tokenizers.mdx

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

Translated version of model_sharing.mdx doc to spanish (huggingface#16184)

* Translated version of model_sharing to spanish

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Update docs/source_es/model_sharing.mdx

* Addind model sharing to _toctree.yml

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

Guide to create custom models in Spanish (huggingface#17158)

* file copied and toctree updated

* Intro and configuration translated

* model section translated

* enter hotfix

* Translation over, correction pending

* Typos and corrections

* Update docs/source/es/create_a_model.mdx

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

* Update docs/source/es/create_a_model.mdx

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

* Update docs/source/es/create_a_model.mdx

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

* Update docs/source/es/create_a_model.mdx

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

Co-authored-by: Omar U. Espejel <espejelomar@gmail.com>

Fix obvious typos in flax decoder impl (huggingface#17279)

Change config.encoder_ffn_dim -> config.decoder_ffn_dim for decoder.

TF - Fix convnext classification example (huggingface#17261)

[WIP] [doc] performance/scalability revamp (huggingface#15723)

* [doc] performance/scalability revamp

* link the new docs

* no :

* mixed precision

* work on the first doc

* expand the main doc

* Trigger CI

* style

* revamp single GPU training section

* work on training performance

* remove files not used anymore or will be added later

* final touches

* fix rebase

* Add hardware section to toctree

* fix toctree again

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* remove `fast_tokenizers` entry that was copied in rebase

* add warning about DP vs DDP

* remove todo

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* fix missing closure of codeblock

* Update docs/source/en/perf_train_gpu_many.mdx

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* sync with huggingface#16860

* update toc

Co-authored-by: leandro <leandro.vonwerra@spoud.io>
Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>
Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

fixed bug in run_mlm_flax_stream.py (huggingface#17203)

* fixed bug run_mlm_flax_stream.py

Fixed bug caused by an update to tokenizer keys introduced in recent transformers versions (between `4.6.2` and `4.18.0`) where additional keys were introduced to the tokenizer output.

* Update run_mlm_flax_stream.py

* adding missing paranthesis

* formatted to black

* remove cols from dataset instead

* reformat to black

* moved rem. columns to map

* formatted to black

Co-authored-by: KennethEnevoldsen <kennethcenevolsen@gmail.com>

 Updated checkpoint support for Sagemaker Model Parallel (huggingface#17219)

* adding partial checkpoint support for optimizer state

* formatted trainer.py

* Refactoring based on comments

* reformatting

* Update src/transformers/trainer.py

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* Update src/transformers/trainer.py

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* Update src/transformers/trainer.py

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

Co-authored-by: Cavdar <dcavdar@a07817b12d7e.ant.amazon.com>
Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

Update codeparrot data preprocessing (huggingface#16944)

* add new preprocessing arguments

* add new filters

* add new filters to readme

* fix config and test count, update function names and docstrings

* reformat code

* update readme

* Update readme

* rename config_test filter

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* rename few_assignments filter

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* rename tokenizer in arguments

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* rename functions and add limit_line argument for config_test filter

* update threshold for config_test filter

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>
Co-authored-by: Loubna ben allal <loubnabenallal@gmail.com>

CodeParrot data pretokenization (huggingface#16932)

* add pretokenization arguments

* add pretokenization script

* add support for pretokenized data

* reformat code

* fix run command for training

* fix model call from config

* remove a package

* add comments on pretokenization in the readme

* remove explicit parallelization

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* update readme

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* update readme -remove username

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* update readme -remove username

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

* keep data parallelization

* reformat code

* reformat code

* update readme

* reformat code

* Update examples/research_projects/codeparrot/README.md

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>

Co-authored-by: Leandro von Werra <lvwerra@users.noreply.github.com>
Co-authored-by: Loubna ben allal <loubnabenallal@gmail.com>

Remove next sentence prediction from supported ONNX tasks (huggingface#17276)

Align logits and labels in OPT (huggingface#17237)

Mlflowcallback fix nonetype error (huggingface#17171)

* Fix edge cases TypeError: 'NoneType' object is not callable

* fix style

Automatically sort auto mappings (huggingface#17250)

* Automatically sort auto mappings

* Better class extraction

* Some auto class magic

* Adapt test and underlying behavior

* Remove re-used config

* Quality

Make TrainerHyperParameterSigOptIntegrationTest slow test (huggingface#17288)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

Better error in the Auto API when a dep is missing (huggingface#17289)

Fix FlavaForPreTrainingIntegrationTest CI test (huggingface#17232)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

Use the PR URL in CI report (huggingface#17269)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

logging documentation update (huggingface#17174)

* logging documentation

* style

Co-authored-by: Sander Land <sander@chatdesk.com>

docs(transformers): fix typo (huggingface#17263)

Add Tensorflow Swin model (huggingface#16988)

Co-authored-by: Matt <Rocketknight1@users.noreply.github.com>
Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

[Tests] Fix slow opt tests (huggingface#17282)

* fix opt tests

* remove unused tok

* make style

* make flake8 happy

* Update tests/models/opt/test_modeling_opt.py

Fix test_model_parallelization (huggingface#17249)

* Fix test_model_parallelization

* Modify

Add Wav2Vec2Conformer (huggingface#16812)

* save intermediate

* add wav2vec2 conformer

* add more code

* more

* first test passes

* make all checkpoints work

* update

* up

* more clean ups

* save clean-up

* save clean-up

* save more

* remove bogus

* finalize design conformer

* remove vision

* finish all tests

* more changes

* finish code

* add doc tests

* add slow tests

* fix autoconfig test

* up

* correct docstring

* up

* update

* fix

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>
Co-authored-by: Anton Lozhkov <aglozhkov@gmail.com>

* Update docs/source/en/model_doc/wav2vec2-conformer.mdx

* upload

* save copied from

* correct configs

* fix model outputs

* add to docs

* fix imports

* finish

* finish code

* correct copied from

* correct again

* correct make fix

* improve make fix copies

* save

* correct fix copy from

* correct init structure

* correct

* fix import

* apply suggestions

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>
Co-authored-by: Anton Lozhkov <aglozhkov@gmail.com>

Fix missing job action button in CI report  (huggingface#17270)

* use matrix.machine_type

* fix job names used in job_link

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

Fix wrong PT/TF categories in CI report (huggingface#17272)

Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>

[ConvNeXT] Fix drop_path_rate (huggingface#17280)

* Fix drop_path_rate

* Fix TF's drop path rate

fix retribert's `test_torch_encode_plus_sent_to_model` (huggingface#17231)

Fix tests of mixed precision now that experimental is deprecated (huggingface#17300)

* Fix tests of mixed precision now that experimental is deprecated

* Fix mixed precision in training_args_tf.py too

Rewrite TensorFlow train_step and test_step (huggingface#17057)

* Initial commit

* Better label renaming

* Remove breakpoint before pushing (this is your job)

* Test a lot more in the Keras fit() test

* make fixup

* Clarify the case where we flatten y dicts into tensors

* Clarify the case where we flatten y dicts into tensors

* Extract label name remapping to a method

correct opt (huggingface#17301)

refactor

- refactor code
- style changes
- add new threshold for test

major changes

- change BLOOM to Bloom
- add quick doc on bloom.mdx
- move embeddings test on modeling test

modify readme

small fixes

small fix

- better threshold for a test

remove old test file from fetcher

fix small typo

major change

- change BloomLMHead to BloomForCausalLM

remove onnx config

major changes

- refactor the code
- remove asserts
- change tol for test

make style

small change

adding a slow test + commenting old ones for now

make style

Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

make style

fix duplicates

cleaning comments on config

clean a bit conversion file

refacor a bit modeling file

refactor tokenizer file

fix tokenization test issue

fix tokenization issue second try

fix tokenization issue #2

fix test issue

make style + add suggestions

change test fetcher

try this one

- slow tests should pass
- finger crossed

possible final changes

make style

try fix padding side issue

fix side

fix padding issue

fix ko-readme

fix config auto

cleaning modeling file

keep bloom in caps in ko

update config docs

remove pretraining_pp

remove model parallel

update config

- add correct config files

fix duplicates

fix fetcher

fix refactor issue

- remove divide function

try to remove alibi

small fixes

- fix alibi
- remove seq length
- refactor a bit the code

put correct values

- fix bos and eos token ids

fix attention mask loop

Co-authored-by: thomasw21 <24695242+thomasw21@users.noreply.github.com>

small fixes:

- remove skip bias add

small fixes

- fix typo in readme
- fix typos in config

small changes

- remove a test
- add reconstruction test
- change config

small changes

- change Scaled Softmax to BloomScaledSoftmax

small fixes

- fix alibi dtype

major changes

- removing explicit dtype when loading modules
- fixing test args (torch_dtype=auto)
- add dosctring

fix readmes

major changes

- now bloom supports alibi shifting
- refactor a bit the code
- better test tolerance now

refactor a bit

refactor a bit

put correct name on test

change docstring

small changes

- fix docstring modeling
- fix test tolerance

fix small nit

- take dtype from tensors in the conversion script

minor fix

- fix mdx issue

minor fix

- change config docstring

forward contrib credits from PR14084

Apply suggestions from code review

Co-authored-by: Stas Bekman <stas00@users.noreply.github.com>

apply modifications

Co-authored-by: Stas Bekman <stas00@users.noreply.github.com>

resolve softmax upcast

Apply suggestions from code review

Co-authored-by: Stas Bekman <stas00@users.noreply.github.com>

Update src/transformers/models/bloom/modeling_bloom.py

Co-authored-by: Niklas Muennighoff <n.muennighoff@gmail.com>

final changes modeling

Co-authored-by: Stas Bekman <stas00@users.noreply.github.com>

Merge commit 'd156898f3b9b2c990e5963f5030a7143d57921a2'

merge commit

Apply suggestions from code review

Co-authored-by: Stas Bekman <stas00@users.noreply.github.com>

apply suggestions

Apply suggestions from Stas comments
Co-authored-by: Stas Bekman <stas00@users.noreply.github.com>
elusenji pushed a commit to elusenji/transformers that referenced this pull request Jun 12, 2022
* try fixes

* Revert "try fixes"

This reverts commit a8ad75e.

* add correct shape

* add correct path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants