O truque exclusivo da OpenAI, RLHF, é superado pelo DPO de código aberto? Deixe RLHF ser completamente estúpido!

O modelo Anima possui código aberto da mais recente tecnologia DPO baseada em QLoRA.

DPO é o método de treinamento RLHF mais recente e eficiente. RLHF sempre foi um problema difícil no treinamento generativo de IA e também é considerado segredo exclusivo da OpenAI. A tecnologia DPO mudou tudo, tornando o RLHF completamente tolo!

Abrimos o código-fonte da implementação QLoRA de RLHF de baixo custo, e uma única máquina GPU pode treinar o DPO do modelo 33B!

01 Por que o RLHF é crucial para a implementação da IA❓

Vamos falar sobre isso: uma das principais inovações técnicas da IA ​​generativa é a chamada “ função de perda do modelo de linguagem causal (modelo de linguagem causal) ”. Para ser franco, o modelo é treinado para prever qual será a próxima palavra.

Muitas das tecnologias de maior sucesso são frequentemente as mais simples e diretas. Esse objetivo de treinamento de prever qual será a próxima palavra é simples o suficiente para ser facilmente estendido a quantidades infinitas de dados de treinamento. Existem muitos designs de modelos mais sofisticados do que modelos de linguagem causal , mas muitos deles são muito complexos e não podem ser facilmente dimensionados para mais dados de treinamento. A coisa mais importante sobre IA são os dados. Com modelos de linguagem causal, apenas uma coisa é necessária para aumentar a quantidade de dados: jogar dinheiro! Como disse o Sr. Jack Ma: Qualquer problema que possa ser resolvido com dinheiro não é um problema  !

100 milhões

No entanto, depois que vários magnatas locais destruíram inúmeros pequenos objetivos, eles descobriram que há uma falha nesse tipo de treinamento do modelo de linguagem causal – o modelo não é fácil de controlar. Como o objetivo do treinamento é apenas a próxima palavra, que é muito microscópica, é difícil dizer ao modelo mais alguns objetivos macro, como: controlar a duração da saída, como: todo o ponto é útil! Não fale bobagem!

Como tornar os modelos generativos mais fáceis de controlar é uma área de pesquisa muito ativa. Existem muitos artigos e muitas ideias diferentes são apresentadas. Mas nenhum deles resolveu muito bem o problema.

Até o final de 2022, o ChatGPT da openAI será lançado. ChatGPT é uma IA de bate-papo superficial, mas seu maior avanço em tecnologia é que ele introduziu efetivamente a tecnologia de aprendizado por reforço PPO pela primeira vez para treinar grandes modelos de linguagem e conduzir treinamento RLHF (aprendizado por reforço com feedback humano) ( https: // arxiv .org/abs/2203.02155 ). O RLHF alcançou um efeito milagroso: pode finalmente conseguir controle e ajuste precisos do modelo generativo!

RLHF é crucial para a aplicação de grandes modelos de linguagem em campos verticais, especialmente para proprietários de dados. Você pode usar seus próprios dados de cena e dados de feedback do usuário para dizer diretamente ao modelo o que você quer e o que não quer por meio de RLHF. Ou apenas faça uma certa quantidade de anotação manual com base em seus cenários de uso. Para casos em que a saída do modelo não é satisfatória, anote manualmente onde está o problema e qual é a melhor saída. Em seguida, use RLHF para treinar o modelo diretamente.

02 O surgimento da revolucionária tecnologia DPO da RLHF

Por que o truque PPO exclusivo da OpenAI é tão difícil de usar?

A dificuldade de treinamento de RLHF e PPO é relativamente alta. Especialmente os requisitos de dados são muito elevados e muito instáveis. Muitas pessoas dizem que RLHF e PPO são segredos exclusivos da OpenAI.

OpenAI não é aberto, exceto pelo nome, e não fala sobre os principais detalhes de como treinar PPO com eficiência. A OpenAI também gosta de mencionar recentemente um novo apelido no Vale do Silício: ClosedAI.

IA fechada

A tecnologia PPO dos segredos exclusivos da OpenAI vem do acúmulo de IA de jogos da OpenAI em seus primeiros anos. Embora o PPO seja poderoso, é muito difícil de treinar. O processo de treinamento requer primeiro o treinamento de dois modelos adicionais: modelo de recompensa e modelo SFT de ajuste fino. Eles não apenas exigem tempo e custos adicionais de hardware, mas ambos os modelos também precisam ocupar a já preciosa memória da GPU! O processo de treinamento também é muito instável, muitas vezes o treinamento falha e o modelo não converge. Os requisitos de qualidade para dados anotados também são muito elevados. A menos que você seja tão constrangedor quanto o OpenAI e esteja disposto a gastar muito dinheiro em rotulagem, é provável que a qualidade dos dados não seja boa o suficiente.

Revolucionários RLHF: tecnologia DPO --- democratizando RLHF

A tecnologia DPO (Direct Preference Optimization, https://arxiv.org/abs/2305.18290 ) foi proposta recentemente em um artigo conjunto entre Stanford e CZ Biohub . Pode-se dizer que é uma versão alternativa do RLHF PPO. Além de reduzir muito a dificuldade do RLHF e ser muito fácil de treinar, de acordo com a comparação da avaliação no artigo, o desempenho do treinamento também supera a tecnologia PPO!

O princípio fundamental do DPO é : o cerne da dificuldade do treinamento PPO é porque a preferência precisa ser expressa por meio do modelo de recompensa para aprendizagem por reforço. ​Se o modelo de recompensa puder ser omitido, o problema pode se tornar muito mais simples em um instante!

Para não depender mais do modelo de recompensa para aprendizagem por reforço, ele realizou uma série de transformações matemáticas e derivou diretamente a expressão probabilística das preferências de rotulagem com base no Modelo de Linguagem de Política, de modo que a estimativa de máxima verossimilhança de um Modelo de Linguagem possa ser diretamente resolvido. Modelos de recompensa complicados e complicados e aprendizagem por reforço não são mais necessários.

Os recursos mais impressionantes do DPO são os seguintes:

  1. O DPO removeu o modelo de recompensa. Acontece que o treinamento PPO requer dois modelos auxiliares adicionais, o modelo de recompensa e o modelo SFT. Agora só precisamos treinar um modelo SFT. Isto supera fundamentalmente a fonte de instabilidade causada por flutuações excessivas no treinamento, melhora muito a estabilidade e a taxa de sucesso do treinamento e reduz os requisitos para a qualidade dos dados anotados.
  2. Devido à remoção do modelo de recompensa, a velocidade de treinamento também é bastante melhorada e a demanda por preciosa memória GPU é bastante reduzida.
  3. Talvez o mais importante seja que há um modelo de recompensa a menos no processo de treinamento e iteração, o que reduz bastante a demanda pela preciosa memória da GPU. Considerando o preço de um H100 de 80GB, não há necessidade de falar mais sobre o que significa reduzir a memória da GPU, certo? Eu entendo tudo!

03 Abrimos o código-fonte da versão QLoRA de baixo custo do algoritmo DPO, Xiaobai pode brincar facilmente com o treinamento RLHF

Antes disso, abrimos o código-fonte do primeiro modelo grande chinês 33B baseado em QLoRA, Anima 33B . Pela primeira vez, o custo do treinamento de modelos grandes de nível 33B pode ser reduzido a apenas uma máquina GPU.

Desta vez, implementamos o algoritmo do artigo DPO baseado em QLoRA com base em nosso trabalho anterior, Anima. Abrimos o código-fonte de todo o código, para que os novatos possam realizar o treinamento RLHF nos dados do seu domínio com apenas algumas linhas de código!

O núcleo do DPO é a seguinte perda de DPO:

Perda de DPO

Esta perda nos permite otimizar e resolver diretamente a solução de preferência de máxima verossimilhança.

Implementamos essa perda de DPO com base na estrutura QLoRA.

Como usar o treinamento Anima QLoRA DPO?

  1. Preparar dados: Usamos um formato semelhante ao conjunto de dados https://huggingface.co/datasets/Anthropic/hh-rlhf : o formato dos dados de treinamento é que cada dado tem duas chaves: escolhida e rejeitada. Usado para comparar o que a anotação considera uma saída boa e uma saída ruim para o mesmo prompt. Você pode modificar o parâmetro --dataset para apontar para o conjunto de dados local ou conjunto de dados huggingface.
  2. Treinamento do modelo Supervised Fine Tune (SFT)  : Este modelo SFT é na verdade um LLM comum treinado no conjunto de dados de amostra rotulado. Você pode consultar o método do Anima para treinamento. Este modelo será utilizado como valor inicial do treinamento do DPO, e o processo de treinamento também se referirá a este modelo para evitar desvios excessivos.
  3. Use o seguinte código para treinamento:
# 1. install dependencies
pip install -r requirements.txt
# 2. run DPO training
cd rlhf
./run_dpo_training.sh

A maioria dos parâmetros em run_dpo_training.sh são consistentes com os parâmetros de treinamento do Anima . Existem vários parâmetros DPO adicionais:

  • conjunto de dados : conjunto de dados de preferência de anotação
  • reference_model : deve apontar para o modelo SFT treinado na etapa anterior
  • beta : beta é um hiperparâmetro usado para equilibrar a divergência KL na perda de DPO. Quanto menor for, mais fraca será a referência para o modelo SFT. Um beta igual a zero equivale a ignorar o modelo SFT. Beta geralmente assume um valor de 0,1-0,5.

04 Código aberto do modelo de versão de alinhamento DPO do Anima 33B

Treinamos uma versão de alinhamento DPO em nosso Anima 33B de código aberto. Usamos o conjunto de avaliação 1k de código aberto da Belle. (Obrigado a Belle por sua contribuição de código aberto!) Este conjunto de avaliação fornece respostas padrão de alta qualidade para cada pergunta, que podem ser usadas como amostras positivas de alta qualidade, enquanto a saída do modelo original é usada como amostras negativas. Esse treinamento incentivará o modelo a tentar produzir respostas próximas das respostas corretas no conjunto de avaliação de Belle.

O treinamento utilizou um 80G H100, um total de 100 etapas e durou 5 horas. O processo de treinamento foi tranquilo e estável:

O modelo de mesclagem completo foi lançado no Huggingface: https://huggingface.co/lyogavin/Anima33B-DPO-Belle-1k-merged .

Todos os códigos-fonte são de código aberto e o endereço do Github está aqui: https://github.com/lyogavin/Anima/tree/main/rlhf .

A seguir estão exemplos de alterações de saída antes e depois do treinamento de DPO:

  • Pergunta 1:  Qual é o maior rio do mundo?
    • Resposta do modelo original: Rio Nilo.
    • Resposta do modelo de treinamento DPO: O maior rio do mundo é o Rio Nilo. Começa na África Ocidental, passa por países como o Sudão, o Egipto, o Quénia, a Tanzânia e o Quénia, e flui para leste no Mar Mediterrâneo. Tem uma extensão de cerca de 6.650 quilômetros e é um dos segundos maiores rios do planeta (depois do Amazonas). A nascente do Rio Nilo está localizada no centro das Montanhas Rabi e flui através de muitos lagos, incluindo Tianchi, Nilômetro Branco, Lago Bugalia, Lago Walla, Lago Jaganna, Lago Taikoo, Lago Alpino, Lago Adam e Lago Attic. Lago Alexander, Lago Yakrasha, Lago Yavila, Lago Yamla
  • Pergunta 2:  Qual é a fórmula química da água?
    • Resposta do modelo original: H2O
    • O modelo de treinamento DPO responde: A fórmula química da água é H₂O. Entre eles, “H” representa o átomo de hidrogênio e “О” representa o átomo de oxigênio. A água se divide em dois átomos de hidrogênio e um átomo de oxigênio para formar moléculas de água
  • Pergunta 3:  Com base na lista de palavras-chave fornecida, gere um parágrafo descrevendo essas palavras-chave.
    Outono, folhas de bordo, norte, frio
    • Resposta do modelo original: O outono é uma das estações mais bonitas do norte, é hora das folhas dos bordos mudarem de cor e toda a cidade ficar tingida de manchas laranja, amarelas e vermelhas. O ar frio está repleto de fragrâncias leves e as pessoas podem sentir a paz e o calor da natureza.
    • O modelo de treinamento do DPO responde: O outono é uma estação linda, especialmente nas regiões do norte. No outono, as folhas do bordo mudam de cor para vermelho, amarelo e laranja, criando uma vista maravilhosa. As pessoas podem passear na floresta e apreciar a beleza natural e a tranquilidade. O ar fresco torna a viagem mais confortável e, ao mesmo tempo, faz com que as pessoas sintam o ar do outono. O clima frio não só faz sentir o frescor do outono, mas também faz com que sinta a contemplação do outono. O clima frio faz sentir o peso do outono, lembra memórias do passado e esperanças para o futuro.
  • Pergunta 4:  Quais países são membros permanentes?
    • Resposta do modelo original: Os cinco principais detentores de armas nucleares (China, Rússia, França, Reino Unido e Estados Unidos), bem como Samoieda, Itália, Japão, Espanha e Alemanha.
    • Resposta do modelo de formação de DPO: Existem cinco países considerados membros permanentes: a República Popular da China, a França, a Rússia, o Reino Unido e os Estados Unidos. Os cinco países foram considerados membros permanentes desde a fundação da ONU e não precisam de ser eleitos pela Assembleia Geral para manterem os seus assentos. Os membros permanentes têm privilégios especiais, tais como poder levantar questões de segurança ou participar em discussões e decisões sobre questões de segurança.

(Os dados completos são de código aberto e podem ser encontrados no github.)

Pode-se observar que o treinamento do DPO será muito eficaz no ajuste da saída do modelo para ficar mais próximo da preferência do GPT4. Um processo de pensamento que produz informações e respostas mais detalhadas.

Produzir um processo de pensamento mais detalhado também pode ajudar o modelo a melhorar sua precisão. Acreditamos que melhorar a capacidade de raciocínio básico do modelo e a reserva de conhecimento baseada em codificação é mais adequado para treinamento em larga escala. DPO e RLHF são mais adequados para controle de saída de modelo ou treinamento de conhecimento de domínio.

おすすめ

転載: blog.csdn.net/chaishen10000/article/details/132724668