--- 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