Modelo de discurso de fusão precoce caseiro
Observação
Atualização: 30 de setembro de 2024
Mudamos a marca de llama3-s para ? Ichigo.
Nosso modelo de fala de fusão inicial personalizado agora tem um nome e uma voz.
Ele melhorou os recursos multivoltas e agora pode se recusar a processar consultas inaudíveis.
Aviso
Ichigo é um experimento de pesquisa aberto
Junte-se a nós no canal #research
no Discord do Homebrew
Transmitimos treinamentos ao vivo em #research-livestream
Ichigo é um experimento de pesquisa aberto e contínuo para estender um LLM baseado em texto para ter capacidade nativa de "escuta". Pense nisso como dados abertos, peso aberto, no dispositivo Siri.
Ele usa uma técnica de fusão antiga inspirada no papel Chameleon da Meta.
Construímos trens em público:
Escrita do ponto de verificação Ichigo v0.3
Escrita do ponto de verificação Ichigo v0.2
Escrita do ponto de verificação Ichigo v0.1
22 de outubro: ? Lançamento de artigo de pesquisa: Temos o prazer de anunciar a publicação de nosso artigo de pesquisa detalhando o desenvolvimento e as inovações técnicas por trás da série Ichigo. Os detalhes técnicos completos, metodologia e resultados experimentais estão agora disponíveis em nosso artigo.
4 de outubro: Os modelos Ichigo v0.3 já estão disponíveis. Utilizando dados mais limpos e aprimorados, nosso modelo alcançou uma pontuação MMLU aprimorada de 63,79 e demonstra capacidades mais fortes de acompanhamento de instruções de fala, mesmo em interações multivoltas. Além disso, ao incorporar dados sintéticos de ruído, treinamos com sucesso o modelo para recusar o processamento de entradas de áudio não faladas dos usuários, melhorando ainda mais sua funcionalidade e experiência do usuário.
23 de agosto: Temos o prazer de compartilhar o Ichigo-llama3.1-s-instruct-v0.2, nosso mais recente ponto de verificação multimodal com melhor compreensão de fala, aprimorando os recursos de acompanhamento de instruções de áudio do modelo por meio de treinamento em intercalação de dados sintéticos.
17 de agosto: Pré-treinamos nosso modelo LLaMA 3.1 em dados de fala contínua, tokenizados usando WhisperSpeechVQ. A perda final convergiu para aproximadamente 1,9, resultando em nosso ponto de verificação: Ichigo-llama3.1-s-base-v0.2
1º de agosto: identificado erro de digitação na receita de treinamento original, causando degradação significativa (MMLU: 0,6 -> 0,2), correções propostas.
30 de julho: Apresentou o progresso do llama3-s em: AI Training: From PyTorch to GPU Clusters
19 de julho: llama3-s-2024-07-19 compreende voz sintética com resultados limitados
1º de julho: llama3-s-2024-07-08 mostrou perda convergente (1,7) com dados limitados
Ichigo é um projeto de pesquisa aberto. Estamos procurando colaboradores e provavelmente avançaremos para o crowdsourcing de conjuntos de dados de fala no futuro.
Confira este notebook para experimentar nosso modelo mais recente:
Para obter informações detalhadas sobre geração sintética, consulte o Guia de Geração Sintética.
Primeiro clone o repositório do github:
git clone --recurse-submodules https://github.com/homebrewltd/llama3-s.git
A estrutura da pasta é a seguinte:
Ichigo ├── HF_Trainer # HF training code (deprecated) ├── synthetic_data # Synthetic data generation pipeline ├── configs # Audio pipeline configs ├── audio_to_audio # Parler audio (.wav) to semantic tokens ├── synthetic_generation_config # TTS semantic tokens ├── scripts # Setup scripts for Runpod ├── torchtune # Submodule: our fork of fsdp with checkpointing ├── model_zoo # Model checkpoints │ ├── LLM │ │ ├── Meta-Llama-3-8B-Instruct │ │ ├── Meta-Llama-3-70B-Instruct ├── demo # Selfhost this demo (vllm) ├── inference # Google Colab
Instalar dependências
python -m venv hf_trainer chmod +x scripts/install.sh ./scripts/install.sh
Reinicie o shell agora
chmod +x scripts/setup.sh ./scripts/setup.sh source myenv/bin/activate
Registrando Huggingface
huggingface-cli login --token=
Treinamento
export CUTLASS_PATH="cutlass" export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 accelerate launch --config_file ./accelerate_config.yaml train.py
Instalar pacote
python -m venv torchtune pip install torch torchvision tensorboard cd ./torchtune pip install -e .
Você também pode baixar o modelo usando tune:
tune download homebrewltd/llama3.1-s-whispervq-init --hf-token--output-dir ../model_zoo/llama3.1-s-whispervq-init --ignore-patterns "original/consolidated*"
Configure o conjunto de dados do caminho HF alterando o caminho e alterando o nome do modelo no seguinte arquivo YAML.
nano torchtune/recipes/configs/jan-llama3-s/8B_full.yaml
Treinamento Multi GPU (suportado de 1 a 8 GPUs)
tune run --nproc_per_node 4 full_finetune_fsdp2 --config recipes/configs/jan-llama3-1-s/8B_full.yaml
Para obter instruções sobre como auto-hospedar a demonstração da IU da web do Ichigo usando Docker, visite: Demonstração do Ichigo. Para experimentar nossa demonstração em uma única GPU RTX 4090, você pode acessar diretamente: https://ichigo.homebrew.ltd.
Oferecemos código para os usuários criarem uma demonstração de IU da web. Siga as instruções abaixo:
python -m venv demo source demo/bin/activate # First install all required packages pip install --no-cache-dir -r ./demo/requirements.txt
Em seguida, execute o comando abaixo para iniciar uma demonstração do Gradio localmente. Você pode adicionar as variáveis use-4bit
e use-8bit
para uso quantizado:
python -m demo.app --host 0.0.0.0 --port 7860 --max-seq-len 1024
Você também pode hospedar uma demonstração usando vLLM para inferência mais rápida, mas não oferece suporte à saída de streaming:
python -m demo.app_vllm
Alternativamente, você pode facilmente experimentar nossa demonstração no HuggingFace?
@misc{chameleonteam2024chameleonmixedmodalearlyfusionfoundation, title={Chameleon: Modelos de base de fusão precoce de modo misto}, autor={Chameleon Team}, ano={2024}, eprint={2405.09818}, archivePrefix={arXiv}, primáriaClass={cs.CL}, diário={arXiv preprint}}@misc{zhang2024adamminiusefewerlearning, title={Adam- mini: Use menos taxas de aprendizagem para ganhar mais}, autor={Yushun Zhang e Congliang Chen e Ziniu Li e Tian Ding e Chenwei Wu e Yinyu Ye e Zhi-Quan Luo e Ruoyu Sun}, ano={2024}, eprint={2406.16793}, archivePrefix={arXiv}, PrimaryClass= {cs.LG}, diário={pré-impressão arXiv}}@misc{defossez2022highfi, título={compressão de áudio neural de alta fidelidade}, autor={Défossez, Alexandre e Copet, Jade e Synnaeve, Gabriel e Adi, Yossi}, ano= {2022}, eprint={2210.13438}, archivePrefix={arXiv}, journal={arXiv preprint}}@misc{WhisperSpeech, title={WhisperSpeech: um sistema de conversão de texto em fala de código aberto construído por Inverting Whisper}, autor={Collabora e LAION}, ano={2024}, url={https://github.com/collabora/WhisperSpeech}, note={repositório GitHub}}
Torchtune: a base de código que construímos
Accelerate: Biblioteca para facilitar o uso de treinamento distribuído
WhisperSpeech: modelo de conversão de texto em fala para geração de áudio sintético
Encodec: Codec de áudio neural de alta fidelidade para compressão de áudio eficiente
Llama3: a família de modelos em que nos baseamos e que possui incríveis capacidades de linguagem !!!