Instructions to use ThatOneShortGuy/MusicalFalcon with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use ThatOneShortGuy/MusicalFalcon with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("OpenAssistant/falcon-7b-sft-mix-2000") model = PeftModel.from_pretrained(base_model, "ThatOneShortGuy/MusicalFalcon") - Notebooks
- Google Colab
- Kaggle
| language: | |
| - en | |
| license: apache-2.0 | |
| library_name: peft | |
| tags: | |
| - music | |
| datasets: | |
| - ThatOneShortGuy/SongLyrics | |
| base_model: OpenAssistant/falcon-7b-sft-mix-2000 | |
| # Musical Falcon | |
| [OpenAssistant/falcon-7b-sft-mix-2000](https://huggingface.co/OpenAssistant/falcon-7b-sft-mix-2000) model fine tuned using PEFT on | |
| [Song Lyrics](https://huggingface.co/datasets/ThatOneShortGuy/SongLyrics) to write lyrics to songs. | |
| ## Model Details | |
| - **Finetuned from**: [OpenAssistant/falcon-7b-sft-mix-2000](https://huggingface.co/OpenAssistant/falcon-7b-sft-mix-2000) | |
| - **Model Type**: Causal decoder-only transformer language model | |
| - **Language**: English (and limited capabilities in German, Spanish, French, Italian, Portuguese, Polish, Dutch, Romanian, Czech, Swedish); | |
| - **License**: Apache 2.0 | |
| - **Contact**: Lol don't. This is just for fun. | |
| ## Usage | |
| The basic basic format getting it in is: | |
| ```python | |
| from peft import PeftModel, PeftConfig | |
| from transformers import AutoModelForCausalLM | |
| config = PeftConfig.from_pretrained("ThatOneShortGuy/MusicalFalcon") | |
| model = AutoModelForCausalLM.from_pretrained("OpenAssistant/falcon-7b-sft-mix-2000") | |
| model = PeftModel.from_pretrained(model, "ThatOneShortGuy/MusicalFalcon") | |
| ``` | |
| ## Prompting | |
| Considering this comes from [OpenAssistant/falcon-7b-sft-mix-2000](https://huggingface.co/OpenAssistant/falcon-7b-sft-mix-2000), it uses the same structure. | |
| Two special tokens are used to mark the beginning of user and assistant turns: `<|prompter|>` and `<|assistant|>`. Each turn ends with a `<|endoftext|>` token. | |
| The training prompt used the structure: | |
| ``` | |
| <|prompter|>Come up with the lyrics for a song from "{artist}" {"from " + year if year else ""} titled "{title}".<|endoftext|> | |
| <|assistant|>Sure! Here are the lyrics: | |
| {lyrics} | |
| <|endoftext|> | |
| ``` | |
| However, it still seems to work just fine using: | |
| ``` | |
| <|prompter|>Write me a song titled "{title}"<|endoftext|><|assistant|> | |
| ``` | |
| or any anything of similar nature. Feel free to add a description of the song in there too. | |
| ## Examples | |
| Prompt | |
| ``` | |
| <|prompter|>Write a song with the lyrics for a song from artist "Eminem" from 2018 titled "Suzy's Lemonade Stand"<|endoftext|> | |
| <|assistant|>Sure! Here are the lyrics: | |
| ``` | |
| Result | |
| ``` | |
| [Intro] | |
| I'm gonna make you famous, baby | |
| [Verse 1] | |
| It's been a long time since I had a lemonade stand | |
| But I'm back in town and I'ma do it again | |
| You know what? I've been on my own since I was born | |
| So I'll be here all day long, so come on, let's go | |
| I got some new tricks up my sleeve that I'd like to show | |
| And I'mma get your name out of your mouth, so please don't blow | |
| Let me see if I can get you to say my name | |
| If not, then I'l just have to take it back to the drawing board | |
| I gotta get this money, I's a little bit broke | |
| I need some cash, I need some dough, I gotta get these clothes off | |
| I wanna be a star, I wanna be the man | |
| I want to be a superstar, I want to get my hands on them bands | |
| ``` | |
| ## Training procedure | |
| Trained on 1 epoch of all songs from [Song Lyrics](https://huggingface.co/datasets/ThatOneShortGuy/SongLyrics) with "Rap" or "Hip" in the genre title. | |
| - GPU: RTX Titan | |
| - load_in_8bit: True | |
| Further trained on ~8 epochs of the top 10% of [Song Lyrics](https://huggingface.co/datasets/ThatOneShortGuy/SongLyrics) | |
| - GPU: RTX Titan | |
| - load_in_8bit: False | |
| - torch_dtype: torch.float16 | |
| - load_in_4bit: False | |
| - llm_int8_threshold: 6.0 | |
| - llm_int8_skip_modules: None | |
| - llm_int8_enable_fp32_cpu_offload: True | |
| - llm_int8_has_fp16_weight: False | |
| - bnb_4bit_quant_type: fp4 | |
| - bnb_4bit_use_double_quant: False | |
| ### Framework versions | |
| - PEFT 0.5.0.dev0 |