|
--- |
|
language: |
|
- en |
|
|
|
tags: |
|
- text2text-generation |
|
|
|
widget: |
|
- text: "Please answer to the following question. Who is going to be the next Ballon d'or?" |
|
example_title: "Question Answering" |
|
- text: "Q: Can Geoffrey Hinton have a conversation with George Washington? Give the rationale before answering." |
|
example_title: "Logical reasoning" |
|
- text: "Please answer the following question. What is the boiling point of Nitrogen?" |
|
example_title: "Scientific knowledge" |
|
- text: "Answer the following yes/no question. Can you write a whole Haiku in a single tweet?" |
|
example_title: "Yes/no question" |
|
- text: "Answer the following yes/no question by reasoning step-by-step. Can you write a whole Haiku in a single tweet?" |
|
example_title: "Reasoning task" |
|
- text: "Q: ( False or not False or False ) is? A: Let's think step by step" |
|
example_title: "Boolean Expressions" |
|
- text: "The square root of x is the cube root of y. What is y to the power of 2, if x = 4?" |
|
example_title: "Math reasoning" |
|
- text: "Premise: At my age you will probably have learned one lesson. Hypothesis: It's not certain how many lessons you'll learn by your thirties. Does the premise entail the hypothesis?" |
|
example_title: "Premise and hypothesis" |
|
|
|
datasets: |
|
- Muennighoff/flan |
|
- Open-Orca/SlimOrca-Dedup |
|
- garage-bAInd/Open-Platypus |
|
- Weyaxi/HelpSteer-filtered |
|
- GAIR/lima |
|
|
|
|
|
license: mit |
|
--- |
|
|
|
# Model Card for the test-version of instructionBERT for Bertology |
|
|
|
<img src="https://cdn-lfs-us-1.huggingface.co/repos/af/f0/aff0dca78d45453b348b539097bf576b294ce2fb0d535457e710a8d8dbe30a25/b8575c4fcac97f746ed06d2bde14bf62daf91cf3b33992dfbc8424017f2bf184?response-content-disposition=inline%3B+filename*%3DUTF-8%27%27The_cinematic_puppet_Bert_from_sesame_street_carries_89f3c10a_273b.png%3B+filename%3D%22The_cinematic_puppet_Bert_from_sesame_street_carries_89f3c10a_273b.png%22%3B&response-content-type=image%2Fpng&Expires=1702654270&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwMjY1NDI3MH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy11cy0xLmh1Z2dpbmdmYWNlLmNvL3JlcG9zL2FmL2YwL2FmZjBkY2E3OGQ0NTQ1M2IzNDhiNTM5MDk3YmY1NzZiMjk0Y2UyZmIwZDUzNTQ1N2U3MTBhOGQ4ZGJlMzBhMjUvYjg1NzVjNGZjYWM5N2Y3NDZlZDA2ZDJiZGUxNGJmNjJkYWY5MWNmM2IzMzk5MmRmYmM4NDI0MDE3ZjJiZjE4ND9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPSomcmVzcG9uc2UtY29udGVudC10eXBlPSoifV19&Signature=Cq74lOcJRv-w1JieDOg1uYIHbekEe2MccwtxQyRFb08%7ENvQHAVqBAqmjAz2XxIajDmtklq-vh38U75%7ElT9Y5OzYRqJ4JwBv73vLMM8zbKELafPPOGWVfEcAh8KFMW5DKLNuqzxBMvInMKK4ylJ6wdT%7EXHBZijUGzrNC7j1R3pgdiG1uh-ndQ7%7EuL-Vw3AU213qC5YUq%7E8IzD8h0cErf-aQP96WtK03Z-50yZmtwLc6L-2FTO95GT5AUKf6BPbuNwkgMW0zzG4oYjE5raGRwrMWKIbTW2nWQK-2oHm9Ojv5TNAo%7Elc75p3AL0xIKC6yUGIxT8L82DUUWaYIF9IoJnwQ__&Key-Pair-Id=KCD77M1F0VK2B" |
|
alt="instruction BERT drawing" width="600"/> |
|
|
|
|
|
A minimalistic instruction model with an already good analysed and pretrained encoder like BERT. |
|
So we can research the [Bertology](https://aclanthology.org/2020.tacl-1.54.pdf) with instruction-tuned models, [look at the attention](https://colab.research.google.com/drive/1mNP7c0RzABnoUgE6isq8FTp-NuYNtrcH?usp=sharing) and investigate [what happens to BERT embeddings during fine-tuning](https://aclanthology.org/2020.blackboxnlp-1.4.pdf). |
|
|
|
The trainings code is released at the [instructionBERT repository](https://gitlab.com/Bachstelze/instructionbert). |
|
We used the Huggingface API for [warm-starting](https://huggingface.co/blog/warm-starting-encoder-decoder) [BertGeneration](https://huggingface.co/docs/transformers/model_doc/bert-generation) with [Encoder-Decoder-Models](https://huggingface.co/docs/transformers/v4.35.2/en/model_doc/encoder-decoder) for this purpose. |
|
|
|
## Run the model with a longer output |
|
|
|
```python |
|
from transformers import AutoTokenizer, EncoderDecoderModel |
|
|
|
# load the fine-tuned seq2seq model and corresponding tokenizer |
|
model_name = "Bachstelze/instructionBERTtest" |
|
model = EncoderDecoderModel.from_pretrained(model_name) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
|
input = "Write a poem about love, peace and pancake." |
|
input_ids = tokenizer(input, return_tensors="pt").input_ids |
|
output_ids = model.generate(input_ids, max_new_tokens=200) |
|
print(tokenizer.decode(output_ids[0])) |
|
``` |
|
|
|
## Training parameters |
|
|
|
- base model: "bert-base-cased" |
|
- test subset of the Muennighoff/flan dataset |
|
- trained for 0.97 epochs |
|
- batch size of 14 |
|
- 10000 warm-up steps |
|
- learning rate of 0.00005 |
|
|
|
## Purpose of instructionBERT |
|
InstructionBERT is intended for research purposes. The model-generated text should be treated as a starting point rather than a definitive solution for potential use cases. Users should be cautious when employing these models in their applications. |