Fonte da imagem: Gerada pela ferramenta Unbounded AI, modelo geral (CG do jogo)
O comprimento do contexto costumava ser uma das maiores limitações do GPT-3. O GPT-3 só pode aceitar até 4.000 tokens (3.000 palavras, 6 páginas), caso contrário, um erro será relatado. Portanto, para lidar com documentos longos e prompts (), é necessário introduzir outras técnicas de recuperação, como LangChain. No entanto, o MosaicML (que foi adquirido pela Databricks por cerca de US$ 1,3 bilhão) abriu o contexto MPT-7B no início de maio com um comprimento de 84.000 tokens (63.000 palavras, 126 páginas), expandindo consideravelmente a gama de texto que pode ser processado. , O modelo Claude desenvolvido pela Anthronpic tem um comprimento de contexto estendido para 100.000 tokens.
O MPT-7B foi treinado do zero usando 1 trilhão de tokens de texto e código como dados de treinamento. Em comparação com outros modelos semelhantes (como Pythia e OpenLLaMA usam 300 bilhões de tokens, StableLM usa 800 bilhões de tokens), os dados de treinamento do MPT-7B são maiores e sua qualidade é comparável à do LLaMA-7B. O modelo foi treinado na plataforma MosaicML, usando 440 GPUs, e o processo de treinamento levou 9,5 dias sem intervenção humana a um custo de cerca de US$ 200.000. Ao contrário de outros modelos abertos, o MPT-7B é licenciado para uso comercial e otimizado para treinamento rápido e inferência com FlashAttention e FasterTransformer.
(Desempenho do MPT-7B em tarefas acadêmicas de tiro zero)
A MosaicML também lançou três modelos MPT-7B-Instruct, MPT-7B-Chat, MPT-7B-StoryWriter-65k+ baseados no MPT-7B básico para ajuste fino.
O modelo é ajustado em dolly_hhrlhf. O conjunto de dados dolly_hhrlhf é construído sobre o conjunto de dados "dolly-5k".
O modelo é ajustado nos conjuntos de dados ShareGPT-Vicuna, HC3, Alpaca, Útil e Inofensivo e Evol-Instruct.
O conjunto de dados de ajuste fino para este modelo é um subconjunto filtrado de romances em books3 com um comprimento de contexto de 65k. Embora o tamanho anunciado fosse de 65 mil tokens, a equipe conseguiu obter uma resposta de 84 mil tokens ao executar em uma GPU A100-80 GB de um único nó. A principal tecnologia por trás disso é o ALiBi. O Grande Gatsby originalmente tinha apenas cerca de 68 mil tokens, então a equipe usou o modelo MPT-7B-StoryWriter-65k+ para criar um novo final para o romance.
Além dos pontos de verificação do modelo, a equipe abriu o código-fonte completo para pré-treinamento, ajuste fino e avaliação do MPT por meio de seu novo MosaicML LLM Foundry. A tabela acima foi criada usando a estrutura de avaliação de aprendizagem contextual no LLM Foundry.
O cientista-chefe do MosaicML, Jonathan Frankle, e o cientista de pesquisa Abhinav Venigalla são os chefes do MPT-7B, liderando todo o processo de treinamento do MPT-7B. No último podcast do Latent Space, o principal parceiro da Swyx e da Decibel Partners, Alessio, discutiu com eles a inovação do processo de treinamento MPT-7B e explicou por que a combinação de conjuntos de dados LLM é uma arte importante e misteriosa. Além disso, alguns benchmarks tradicionais de múltipla escolha podem não ser muito úteis para a tecnologia que está sendo construída e também explorarão as razões por trás disso.
(O conteúdo a seguir é compilado e liberado pela OneFlow após autorização, fonte: https://
Construção do modelo MPT-7B
**Swyx: Por que você desenvolveu o MPT-7B? **
Abhinav: O projeto MPT-7B levou cerca de 6 a 12 meses. Começamos a trabalhar em modelos de linguagem no verão passado e publicamos uma postagem no blog que analisava os modelos de linguagem e descobria que o custo do treinamento pode ser muito menor do que as pessoas pensam. Também desde então, inspirados pelo modelo LLaMA lançado pela Meta AI e muitos outros trabalhos de código aberto, nos propusemos a criar um modelo realmente bom com 7 bilhões de parâmetros, que é a origem do MPT.
Alessio: Você disse em um dos podcasts: Mosaic não tem planos de construir e lançar modelos. Mas no final você lançou o modelo mesmo assim, o que te fez mudar de ideia?
Jonathan: Acho que há vários fatores: Ainda não temos um modelo de primeira classe. Ao contrário do OpenAI, onde nosso negócio gira em torno de clientes criando seus próprios modelos, nós fornecemos principalmente as ferramentas e, para que essas ferramentas sejam eficazes, precisamos primeiro criar nossos próprios modelos.
Tem que ficar claro que se nossos clientes podem fazer grandes coisas, nós também podemos fazer grandes coisas. Muitas pessoas no Twitter questionaram a veracidade dos números que o Mosaic mostrou, como Ross Whiteman dizendo: "Vamos ver os resultados reais", ao que eu diria: "Ross, o que você acha disso? ?” Desenvolvemos o modelo em 9,5 dias a um custo de $ 200.000, então você também pode fazer isso.
**Swyx: **Referindo-se aos dados que você divulgou no ano passado, foi inicialmente estimado que o custo do treinamento GPT-3 era inferior a US$ 450.000 e depois foi reduzido para US$ 100.000; o custo da difusão estável também foi reduzido de US$ 160.000 para menos de $ 50.000.
Jonathan: Ainda estou muito cauteloso sobre o valor de $ 100.000. Ainda não chegou, mas estamos caminhando nessa direção, e isso é um grande desafio para o Abhi.
Swyx: Existem três variantes do modelo MPT-7B, uma das quais alcança SOTA em termos de comprimento de contexto, qual é o processo de treinamento para esses modelos?
Abhinav: Nosso modelo básico é uma recriação do LLaMA-7B, com 7 bilhões de parâmetros e dados de treinamento de 1 trilhão de tokens, fornecendo um ponto de partida de treinamento eficiente para o modelo de ajuste fino sem intervenção excessiva. O ajuste fino do modelo também é muito interessante, como MPT-7B-StoryWriter-65k+ pode ser usado para escrever histórias, o comprimento da janela de contexto é de 65.000 e também pode continuar escrevendo com base no conteúdo conhecido.
Claro, esta é apenas uma das direções em que pensamos. Você pode usar o modelo MPT-7B Base para construir modelos personalizados para atender a diferentes necessidades, como modelos de código de contexto longo ou modelos de linguagem específica. Assim, com base no modelo básico, três variantes foram construídas, MPT-7B-Instruct, MPT-7B-Chat e MPT-7B-StoryWriter-65k+, que são usadas para seguir instruções curtas, diálogos de bate-papo e escrever histórias, respectivamente.
Alessio: Como você decide quantos tokens e parâmetros usar ao treinar o modelo? 7 bilhões e 3 bilhões de parâmetros de modelo parecem ser dois números mágicos que estão em voga no momento.
Abhinav: Para modelos de treinamento, a lei de escala pode dizer como fazer o uso mais eficiente dos recursos de computação de treinamento. Por exemplo, se o orçamento for de 200.000 dólares americanos, então, de acordo com a lei da escala, o programa de treinamento mais eficaz pode ser oferecido.
Dentre elas, a que mais seguimos é a lei da chinchila. Para o modelo MPT-7B e suas variantes relacionadas, essas leis não são seguidas à risca, pois queremos garantir que o modelo seja adequado para uso pessoal e tenha bom desempenho de inferência, por isso é supertreinado, ultrapassando o Chinchilla Point (referente aos dados nível medido em fichas). Algumas pessoas na Internet, brincando, chamam esses modelos de Llongboi porque seu tempo de treinamento é bastante longo. Tomando o modelo 7B como exemplo, o Chinchilla Point pode ter 140 bilhões de tokens, mas na verdade treinamos 1 trilhão de tokens, então O tempo de treinamento é quase 7 vezes mais do que o normal.
**Swyx: Llongboi está se referindo a um método de treinamento? **
Jonathan: Llongboi é apenas uma piada interna, referindo-se a um método de treinamento que usa mais fichas do que determina a lei de Chinchilla. Pode-se ver que Llongboi tem dois "L" no início, que é usado para homenagear LLaMA. Nosso CEO uma vez tornou o nome público no Twitter, referindo-se ao modelo como "Llongboi". Às vezes eu quero muito tirar a senha do twitter dele para não vazar mais cedo, mas agora o mundo inteiro sabe o nome.
Sobre arquitetura, ALiBi, contexto
**Alessio:**Flash Attention e Faster Transformer são os dois elementos centrais da construção do seu modelo. Quais são suas vantagens?
**Abhinav:**Flash Attention é uma implementação mais rápida do Full Attention, desenvolvido pelo laboratório Hazy Research de Stanford. Integramos o Flash Attention em nossa biblioteca em setembro passado e ele desempenhou um papel importante no treinamento e na velocidade de inferência. Comparado com outros modelos Hugging Face, este modelo é muito especial. Ele pode alternar entre a atenção geral da tocha e a atenção do flash especialmente projetada para GPU, o que torna a velocidade de treinamento do modelo aumentada em cerca de 2 vezes e a velocidade de inferência aumentada em 50%. -100%.
**Swyx: O que motivou você a escolher a codificação posicional ALiBi? **
Abhinav: Combinamos codificação posicional ALiBi, Flash Attention e estabilidade de treinamento de uma maneira interessante. ALiBi é capaz de eliminar a necessidade de incorporações posicionais no modelo. Anteriormente, se um token tivesse a posição 1, você precisava adicionar uma incorporação de posição específica e não poderia exceder a posição máxima (geralmente 2.000). Mas com ALiBi, esse problema é resolvido. Precisamos apenas adicionar um viés no Mapa de Atenção, que é como uma inclinação, e se for necessário um intervalo maior de posições para inferência, ele estenderá essa inclinação para um número maior de posições. Essa abordagem funciona porque a inclinação é contínua e pode ser interpretada.
Curiosamente, através do Flash Attention, o modelo economiza muita memória e melhora o desempenho, então começamos a realizar testes de desempenho em modelos com contextos muito longos (até 65k) no ano passado e, ao mesmo tempo, é muito difícil de executar treinamento estável. Mais tarde, tentamos integrar o ALiBi ao modelo e a estabilidade do modelo foi significativamente melhorada. Agora podemos treinar modelos de escrita de histórias de forma estável em contextos muito longos e garantir o uso eficiente deles.
Jonathan: O comprimento do contexto é tecnicamente ilimitado. Contanto que haja memória suficiente, o diálogo pode continuar indefinidamente. Acreditamos que o maior número que o modelo pode manipular é 84K, que é o maior comprimento de contexto que os humanos podem manipular confortavelmente na prática. Mas também tentamos comprimentos de contexto superiores a 84K na prática e podemos lidar com comprimentos maiores.
**Swyx:**Por exemplo, podemos inserir o romance "O Grande Gatsby" no modelo e, em seguida, permitir que o modelo continue a escrever o romance de acordo com o texto de entrada e, finalmente, o modelo gera um conteúdo bastante interessante.
Jonathan: Existem muitas versões realmente boas do final da história no Mosaic. Uma versão descreve o funeral de Gatsby, Nick começa a falar com o fantasma de Gatsby, o pai de Gatsby também aparece e então ele e Tom aparecem na delegacia. Esta versão coloca muita ênfase no enredo, descrevendo o que acontece a seguir. Além disso, muitas versões têm finais bem ao estilo de Fitzgerald e são lindamente escritas. Portanto, é emocionante ver que o modelo parece estar processando a entrada e produzindo uma saída significativa. Podemos fazer muito com esse comprimento de contexto.
Alessio: A memória começa a se tornar uma das restrições do modelo, então como o tamanho do parâmetro e o comprimento do contexto devem ser escolhidos?
Jonathan: Recentemente, a pesquisa sobre contextos longos atraiu muita atenção e uma série de artigos relacionados surgiram. No entanto, esses artigos não são totalmente precisos e, até certo ponto, especialmente no que diz respeito aos mecanismos de atenção, eles comparam mecanismos de atenção não quadráticos (como atenção aproximada e hierárquica) com atenção quadrática explícita e correta. . Estou otimista com os métodos de aproximação, então mal posso esperar para pesquisar esses artigos.
Escrever e ler artigos me ensinou uma lição importante sobre não confiar em dados até que você mesmo os tenha feito. Na Mosaic, ficamos desapontados com as implementações muitas vezes porque os artigos que pareciam promissores no início só perceberam após a implementação que os artigos haviam manipulado os dados. Como tal, sou sempre cético em relação aos dados e não confio em nenhum resultado até que eles sejam reimplementados e validados. No geral, a prática valeu a pena e, muitas vezes, as teorias não funcionaram tão bem na prática quanto o esperado.
Recursos do MPT-7B
**Swyx: Quais são os recursos específicos do MPT-7B? **
Abhinav: Eu dividiria isso em duas partes, a primeira é a estabilidade do treinamento. Esta questão pode ser dividida em três partes. Primeiro, o modelo precisa evitar picos de perda durante o treinamento, que é nossa primeira linha de defesa. Na minha opinião, os picos de perda não são um grande problema em um tamanho de treinamento de 7 bilhões de parâmetros. No entanto, evitar picos de perda torna-se difícil à medida que o tempo de treinamento aumenta. Passamos muito tempo tentando descobrir como ajustar métodos de inicialização, otimizadores, arquiteturas etc. para evitar picos de perda. Mesmo durante nosso treinamento, se olharmos com atenção, ainda podemos encontrar alguns pequenos picos intermitentes, mas esses picos voltarão ao normal em algumas centenas de passos, o que é um fenômeno muito mágico, que pode nos ajudar naturalmente a partir da perda de pico recuperada.
Determinismo e estratégias inteligentes de recuperação são nossa segunda linha de defesa. No caso de um erro catastrófico, poderemos retomar rapidamente o treinamento, aplicando alguma intervenção nos poucos lotes anteriores à falha. Para possíveis problemas, fizemos vários preparativos. No entanto, no treinamento do MPT-7B, não usamos essas medidas de backup, o que deve ser considerado uma espécie de sorte.
A infraestrutura de treinamento correta é a terceira linha de defesa. Se tentarmos treinar o modelo em centenas de GPUs, geralmente haverá falhas de hardware. Por exemplo, ao treinar um modelo em um cluster grande com 512 GPUs, o treinamento falhará quase a cada dois dias. O motivo da falha pode ser uma falha de rede.
Normalmente, as pessoas montam equipes de plantão 24 horas por dia, sete dias por semana, para lidar com essas falhas. Quando há uma falha, a equipe tenta verificar o cluster, remover nós quebrados, reiniciar etc., o que é uma tarefa muito tediosa. Costumávamos passar meses verificando erros manualmente, mas agora construímos uma plataforma para automatizar cada nó no processo de treinamento do modelo.
Quando há um problema com a execução de um modelo, nosso sistema de monitoramento automatizado interrompe o trabalho, testa e verifica se há nós quebrados e reinicia. Devido aos recursos determinísticos e de recuperação rápida de nosso software, o modelo continua a funcionar perfeitamente. Como resultado, às vezes podemos ver nos logs do modelo que, depois que um modelo falha às 2h, ele volta a funcionar em minutos sem intervenção manual de um membro da equipe.
Jonathan: Realmente não é fácil fazer isso. Se houvesse uma falha de hardware no modelo alguns meses atrás, os membros da equipe teriam que levantar às duas horas da manhã para verificar a causa do problema. a falha do nó e reinicie o trabalho. Anteriormente, mesmo em uma escala de treinamento de 7 bilhões de parâmetros, frequentemente encontramos picos de perda catastróficos, e esses problemas afetavam seriamente o treinamento do modelo.
Agora abordamos esses problemas por meio de melhorias incrementais. Como Abhinav disse, agora podemos sentar em um escritório enquanto treinamos vários modelos sem nos preocupar com a falha do modelo e a interrupção do treinamento.
Seleção e repetição de dados e os desafios de avaliação do LLM
**Swyx: A seleção de dados é o seu foco, você pode expandi-la? **
Jonathan: Abhi quase me matou quando tentei usar toda a GPU para processamento de dados em vez de realmente treinar o modelo. Sabemos que treinar um modelo requer muitos dados, mas também existem muitas incertezas.
Uma é quais tipos de fontes de dados diferentes são importantes e a outra é a importância da duplicação. Entre eles, a questão sobre a duplicação pode ser dividida em trade-offs de qualidade e quantidade. Suponha que eu tenha os melhores 10 bilhões de dados lexicais do mundo, é melhor treiná-los novamente cem vezes ou é melhor usar 1 trilhão de dados lexicais atualizados e de baixa qualidade? Claro, pode haver um ponto de compromisso, mas como determinar dados de alta qualidade também é um problema e ainda não há uma resposta clara. Se eu fosse voltar para a academia agora, com certeza escreveria um artigo sobre isso, porque ainda não sei nada sobre isso.
Swyx: Não vi nenhum trabalho de pesquisa sobre isso até agora.
Jonathan: A questão central da pesquisa de tese é "que tipo de combinação de conjunto de dados deve ser usada".
No processo de criação do modelo, voltei para a Georgetown Law School, onde lecionei, e me sentei com um grupo de estudantes de direito para discuti-lo. Forneço a eles um conjunto de dados de alta qualidade, como misturar os dados e o número de tokens que eles possuem, e os deixo criar o melhor conjunto de dados para seu modelo.
Eles não sabem nada sobre LLMs além de que os dados de entrada afetam o comportamento. Eu digo a eles para criar um híbrido que cubra todas as diferentes compensações. A princípio, pode ser necessária uma grande quantidade de corpus em inglês, que pode ser obtido pela Internet; se você quiser torná-lo um modelo multilíngue, o corpus em inglês será bastante reduzido; além disso, incluir o código em isto.
Algumas pessoas pensam que o código pode fazer o modelo funcionar melhor no raciocínio lógico, mas nunca vi nenhuma evidência para apoiar essa ideia. Embora tenhamos realmente desenvolvido um excelente modelo de código, se o modelo de código pode levar a uma melhor capacidade de raciocínio da cadeia de pensamento requer mais pesquisas.
Diz-se que uma versão do GPT-3 foi treinada a partir do romance "O Código Da Vinci", então algumas pessoas pensam que isso pode ser útil, mas não há evidências; ) ajudará no treinamento do modelo, mas também há uma falta de provas.
Portanto, experimentamos muitas misturas de dados diferentes e descobrimos que algumas misturas de dados funcionaram melhor ou pior do que outras. Por exemplo, "The Pile" é um mix de dados muito estável, mas de acordo com as métricas de avaliação, existem outros mixes de dados melhores. A seguir vou tocar também na questão da avaliação, que é muito importante.
O modelo T5 foi originalmente treinado no conjunto de dados C4, que teve um desempenho excepcionalmente bom. Outros, incluindo Stella Beaterman da EleutherAI, mencionaram isso quando eu tuitei sobre isso. No artigo original sobre o modelo T5, o método de pré-processamento para o conjunto de dados C4 parece estranho e os autores removeram tudo o que continha a palavra "Java" do conjunto de dados porque não queriam avisos relacionados a Java. Além disso, eles removeram a inclusão de chaves porque não queriam obter a inclusão de Java.
Eles analisaram uma lista de palavrões e removeram o conteúdo que continha palavrões. No entanto, a lista de palavrões na verdade inclui algumas palavras que não são realmente ruins, como "gay". Mas, devido a esse processo de limpeza, o conjunto de dados resultante parece ser incomparável. A partir deste ponto, não sabemos nada sobre os dados.
Na verdade, também usamos um conjunto de dados chamado MC4, MC4 e C4 tiveram o mesmo pré-processamento, mas adicionaram mais chamadas da web (chamadas da web), mas em comparação com C4, a parte em inglês do MC4 é pior, por razões desconhecidas.
Para isso, estabeleci dois critérios:
Em primeiro lugar, a parte em inglês deve ser pelo menos tão boa quanto MC4. Em comparação com outros conjuntos de dados disponíveis, a parte em inglês do MC4 é melhor. Em segundo lugar, dê tudo de si na diversidade de dados e certifique-se de que o conjunto de dados inclua coisas como código, artigos científicos e Wikipedia, porque as pessoas usarão o modelo para uma variedade de tarefas diferentes.
Mas acho que, o mais importante, o modelo é tão bom quanto a métrica de avaliação. Abhi pode discordar neste ponto. Não sabemos como avaliar com precisão modelos generativos quando solicitados a realizar tarefas específicas. Em alguns casos, temos que admitir que nossas próprias avaliações nem sequer medem aquilo com que realmente nos importamos, então só podemos fazer escolhas razoáveis.
Swyx: Você acha que métodos de avaliação como MMLU (Massive Multitask Language Understanding) e BIG-bench não são suficientemente convincentes?
Jonathan: Esses métodos, sem dúvida, realizam dois tipos de tarefas. Uma é uma tarefa de múltipla escolha, que contém uma resposta correta, que permite ao modelo gerar opções como A, B, C ou D e, em seguida, escolhe a resposta que o modelo provavelmente gerará calculando a perplexidade de cada resposta possível. Mas, em vez de pedir ao modelo para fazer perguntas de múltipla escolha, fazemos um segundo tipo de tarefa generativa aberta, como o resumo. A comparação usando métricas como BLEU e ROUGE não é precisa o suficiente, existem muitos resumos de artigos excelentes e métodos de geração aberta. Por outro lado, o manual é um padrão de avaliação mais confiável, mas a avaliação manual é muito demorada e trabalhosa, e não pode ser comparada com o modelo em tempo real, o que pode ser possível no futuro.
Abhinav: Temos uma ótima equipe de avaliação que está nos ajudando a criar novas métricas.
Jonathan: Mas os LLMs são difíceis de avaliar e não acho que nenhuma dessas métricas realmente reflita o que esperaríamos de um modelo na prática.
Redução de custos e aumento da eficiência do treinamento do modelo
Swyx: Agora, as pessoas levam de três a dez dias para treinar um modelo. Quanto tempo você deseja reduzir esse tempo?
Abhinav: Este ano é provavelmente um dos anos mais empolgantes em termos de melhorias na eficiência do treinamento de modelos brutos. Este ano, tanto o hardware quanto o software foram atualizados de acordo. O primeiro é o hardware H100s de nova geração da Nvidia, que sozinho pode melhorar o desempenho em pelo menos duas vezes. Em segundo lugar, há um novo formato de número de ponto flutuante FP8, que pode atingir a mesma melhoria de desempenho quando usado sozinho.
Alguns anos atrás, começamos a usar a precisão de 32 bits e, em seguida, a Nvidia introduziu a precisão de 16 bits. Após vários anos de desenvolvimento, gradualmente dominamos as habilidades de treinamento de 16 bits devido à melhoria contínua dos requisitos.
Com o FP8 deste ano, podemos dobrar o rendimento, o que significa que podemos triplicar o custo. Ao mesmo tempo, começamos a traçar o perfil do treinamento LLM usando FP8 no H100, e o progresso tem sido rápido. Então, apenas melhorando o hardware, podemos reduzir muito o custo.
Além disso, existem muitos estudos sobre aplicações de arquitetura. Estamos explorando maneiras de introduzir alguma dispersão, mas não uma dispersão completamente aleatória. Existe um mecanismo de gating ou uma maneira arquitetônica no estilo MoE para conseguir isso?
Nosso objetivo original era reduzir o custo de treinamento do modelo GPT-J de US$ 500.000 para US$ 100.000, e se conseguirmos isso até o final do ano, seria uma grande conquista.
Jonathan: Esta ideia não é um castelo no ar. Embora essa etapa ainda não tenha sido alcançada, essa meta provavelmente será alcançada até 2023.
Estatísticas sobre custos de treinamento e inferência são escassas. David Patterson, do Google, publicou uma postagem no blog discutindo o uso de energia do Google para aprendizado de máquina. Após uma análise detalhada, nos últimos três anos, o Google gastou três quintos de seus recursos em inferência e dois quintos em treinamento. Os dados acima são do Google, eles fornecem modelos para bilhões de usuários.
O Google é provavelmente o lugar com a maior carga de inferência do mundo. E isso é apenas alocação de recursos para treinamento, com inferência respondendo por três quintos e treinamento respondendo por dois quintos. O hardware pode ser mais caro e a estrutura de rede do hardware pode ser mais complexa, portanto, o treinamento e o raciocínio podem ser divididos pela metade. O acima é a taxa de alocação do Google, mas para outras empresas, o treinamento pode representar um peso maior.
A importância da abertura para a pesquisa de IA
Alessio: O custo do treinamento anterior era muito caro, o que nos impedia de realizar experimentos suficientes, então havia muitos problemas na seleção de conjuntos de dados e assim por diante.
Jonathan: Na pós-graduação, eu costumava ter inveja dos meus amigos porque eles tinham GPUs e eu não tinha uma no meu laptop, então não podia treinar nenhum modelo. Eu fantasiei em ganhar na loteria para ter uma GPU K80.
No fundo, ainda sou aquele ávido estudante de ciências. Acredito fortemente que, se queremos fazer pesquisa científica e realmente entender esses sistemas, como fazê-los funcionar bem, entender os elementos de seu comportamento, segurança e confiabilidade, temos que reduzir o custo do treinamento para que possamos realmente fazer pesquisas científicas. pesquisar. Veja experimentos biológicos, por exemplo, onde precisamos fazer várias culturas de células e experimentos para garantir que uma droga funcione, muita pesquisa científica é necessária antes de realmente entendermos alguma coisa.
**Abhinav:**A MosaicML tem muitos clientes que estão tentando treinar modelos, então a empresa tem um incentivo para dedicar muitos recursos e tempo à pesquisa científica. Somente compreendendo verdadeiramente como os modelos devem ser treinados poderemos ajudar mais pessoas. Então, para nós, esse processo de agregação é muito importante.
Lembro que havia um artigo do Google antes que investigava o tamanho do lote ou algo assim. Este jornal provavelmente custou milhões de dólares e traz enormes benefícios para a comunidade como um todo. Agora, todos nós podemos aprender com isso e economizar dinheiro sem quebrar o banco. Portanto, para a Mosaic, por meio de pesquisas experimentais, obtivemos insights profundos sobre dados, arquitetura de pré-treinamento etc., e é por isso que os clientes nos escolhem.
Jonathan: A abertura é muito importante para a comunidade de IA. De certa forma, não temos motivos para fechar. Ganhamos dinheiro ajudando os clientes a treinar modelos. Não há perda de compartilharmos os resultados com a comunidade. Afinal, temos que ganhar dinheiro com modelos personalizados e excelente infraestrutura. E reunir esses aspectos é o motivo pelo qual chamamos nossa empresa de MosaicML.
Mantivemos sempre uma atitude aberta e não vamos esconder os resultados que alcançámos. Mas agora, descobri que nos tornamos um dos maiores laboratórios de código aberto da indústria, o que é um fato triste, porque o MosaicML não é tão grande em termos da indústria como um todo, temos apenas cerca de 15 pesquisadores, muitos outros Os laboratórios fecharam e não publicam mais muito conteúdo publicamente. No entanto, o MosaicML continuará a se comunicar e compartilhar com a comunidade e fará o possível para se tornar um pioneiro da pesquisa aberta. Embora nossa escala e volume de pesquisa não correspondam aos de um grande laboratório, continuaremos a compartilhar o que aprendemos em um esforço para criar recursos para a comunidade.
Quando discuto o ecossistema de IA com formuladores de políticas, sempre surge uma preocupação comum: a falta de abertura atrapalha o ritmo da inovação. Venho enfatizando essa questão há anos, mas finalmente é uma realidade. Eu defendo o código aberto, mas não acho que todo mundo vai compartilhar seu trabalho. Antigamente, considerávamos o código aberto garantido, mas esse não é mais o caso.
Acho que vai desacelerar nosso desenvolvimento. Em muitos casos, existe uma cultura monolítica em cada laboratório, e a comunicação é um importante motor para o progresso científico. Portanto, o código aberto não é apenas indispensável na comunidade de código aberto e na academia, mas também crítico para o avanço da tecnologia. Precisamos de uma comunidade vibrante de pesquisa de código aberto.
Tendências futuras
Swyx: Você mencionou que muitas coisas não duram muito e são facilmente substituídas, mas o Transformer veio para ficar.
Jonathan: Transformers sempre existirão. As Redes Neurais Convolucionais (CNNs) ainda estão em uso hoje, e os Transformadores Visuais não tomaram seu lugar. Veja a rede neural recorrente (RNN), que existe há décadas, mas ainda está ativa em muitos campos. Como resultado, a implementação de grandes melhorias de infraestrutura é difícil.
Abhinav: Acho que sua aposta depende muito do que se define como atenção. Se uma operação como a multiplicação de matrizes QK for substituída por um método semelhante, que efeito isso terá no resultado?
Jonathan: Na análise final, esta é apenas uma rede feedforward totalmente conectada, Transformer com um mecanismo de atenção simples. Portanto, as coisas podem mudar, mas continuamos a usar o Transformer como Ashish Vaswani (autor do Transformer) imaginou há seis anos e talvez continue a fazê-lo no futuro.
Abhinav: Acho que vai ficar parecido com o MLP (Multilayer Perceptron), que é a única opção que temos no momento, pois agora a arquitetura foi bastante simplificada, deixando apenas algumas camadas lineares, conexões residuais, Atenção , operação de multiplicação de pontos.
Jonathan: Sua suposição é que a arquitetura se tornará mais simples, mas a realidade pode ser o oposto e a arquitetura pode se tornar mais complexa.
Swyx: O que você pensa sobre o recente debate sobre "fenômenos emergentes"?
Abhinav: Eu vi artigos semelhantes, e estes são provavelmente apenas subprodutos de técnicas de avaliação como escala de log, métricas de avaliação e o que estamos fazendo agora é a precisão da malha, que é um julgamento estritamente binário, ou seja, classificar os resultados como verdadeiros ou falsos, sem levar em conta diferenças sequenciais mais refinadas.
Mas, semelhante ao ponto de Jonathan sobre avaliação, também temos um problema com a diversidade de métricas de avaliação: quando lançamos esses modelos, mesmo o modelo de bate-papo, o modelo de comando, as pessoas costumam usá-lo para uma variedade de tarefas diferentes. Dificilmente podemos medir e avaliar cada dimensão com precisão de antemão e, mesmo em uma escala de 7 bilhões, esses modelos ainda funcionam mal em algumas tarefas MMLU muito difíceis. Às vezes, eles pontuam pouco acima do acaso, especialmente ao lidar com tarefas muito difíceis.
Portanto, alguns desses problemas podem ser mais úteis para nós à medida que buscamos modelos de maior qualidade. No entanto, desenvolvemos o MPT-7B um pouco às cegas porque não entendíamos totalmente como o modelo se comportaria. Ele só pode ser desenvolvido em relação a um pequeno conjunto de tarefas comuns de inferência perceptiva, e o desempenho é avaliado comparando essas métricas com outros modelos de código aberto.
Alessio: Acho que inferência e treinamento rápidos são um dos objetivos, então há uma compensação entre resolver as tarefas mais difíceis e ser rápido em outras tarefas.
Abhinav: Sim. Mesmo na escala de 7 bilhões de dados, as pessoas tentarão executá-lo na CPU em casa ou tentar portar para o telefone celular, principalmente porque aplicativos de pequena escala levarão as pessoas a adotar essa tecnologia, e essa é uma tendência importante em o momento.
Alessio: Quais são algumas coisas na IA que estão se movendo muito mais rápido do que o esperado?
Jonathan: Lembro-me de quando o GPT-2 foi lançado, não fiquei muito animado, mas naquela época já tinha 1,5 bilhão de parâmetros. À medida que os modelos aumentam de tamanho, seu desempenho não pode continuar a melhorar. Então o GPT-3 foi lançado e eu pensei que era um pouco melhor na geração de texto, mas eu estava errado de novo e de novo. Aumentar a escala do modelo pode gerar modelos muito úteis ao prever o próximo token.
Para ser justo, estamos praticamente todos errados sobre isso, então também não podemos nos culpar. Caso contrário, Google, Facebook e Microsoft Research teriam lançado megamodelos de linguagem matadores muito antes de eu ter a chance de agir. Fiz uma aposta muito estranha que acabou dando certo: os modelos de difusão, embora um tanto estúpidos, produziam imagens incrivelmente belas.
Abhinav: Em relação aos chatbots em escala, acho que levará muito tempo até que centenas de milhões de pessoas tenham conversas massivas com modelos de IA. Com tantas startups e empresas agora usando não apenas o ChatGPT, mas outros projetos como a criação de personagens, é incrível quantas pessoas estão realmente criando conexões emocionais com esses modelos de IA. Acho que não teria previsto isso em setembro ou outubro do ano passado. O ponto de inflexão que ocorreu nos últimos seis meses foi verdadeiramente inesperado.
Swyx: Para que você acha que eles serão usados, como apoio emocional?
Abhinav: Alguns deles são para apoio emocional ou apenas como amigos. Solidão e problemas de saúde mental são um tema quente. Se você for aos subreddits dessas comunidades, as pessoas estão falando e pensando sobre seus amigos de IA e esses personagens, é como algo saído da ficção científica, e eu nunca esperei que isso acontecesse.
Swyx: Qual é o problema não resolvido mais interessante da IA?
Abhinav: Estou interessado em saber até onde podemos ir em termos de precisão e algo como BF16/FP16.
Eu me pergunto se esses problemas se tornam mais tratáveis à medida que o tamanho do modelo aumenta. Documentos relacionados mostram que a quantização e a poda podem se tornar mais fáceis à medida que a escala aumenta. Então, como consequência natural do aumento de escala nos próximos anos, podemos passar a usar pesos de quatro ou dois bits ou mesmo binários.
Jonathan: Eu queria ver de outra maneira o tamanho de um modelo que poderíamos alcançar e com que eficiência poderíamos desenvolver um modelo com desempenho equivalente. Essa foi a questão com a qual trabalhei durante todo o meu doutorado e, de certa forma, também na Mosaic. A OpenAI nos mostrou um caminho para essa capacidade incrível, ou seja, dimensionamento. Mas espero que este não seja o único caminho. Espero que haja muitas outras maneiras de conseguir isso também, por meio de melhores métodos de modelagem, melhores algoritmos, etc.
Embora eu não seja fã de alegorias da neurociência, de certa forma nossa existência e nossos cérebros provam que existe pelo menos outra maneira de alcançar essa habilidade incrível sem trilhões de parâmetros ou mesmo astronômicos.Investimento de capital. Então, estou realmente curioso sobre o tamanho do modelo que podemos alcançar? Existe outro caminho para esses recursos que não precise seguir o caminho atual? Espero encontrar a resposta no Mosaic, se existir.
Swyx: Exatamente, uma das coisas que mais me interessa é o fato de que o cérebro humano consome apenas 30 watts de energia, e o modelo está muito longe disso.
Abhinav: Não acho que haja uma maneira de conseguir isso com uma única GPU ou outras ferramentas sozinhas.
Alessio: Há muita informação acontecendo agora, como como as pessoas devem pensar sobre inteligência artificial? Em que eles devem se concentrar?
Jonathan: Fique calmo. Algumas pessoas levam o hype muito a sério; outras são muito pessimistas, reagindo fortemente a ele ou negando-o até certo ponto. Fique tranquilo e saiba que criamos uma ferramenta muito útil.
Mas ainda não construímos inteligência geral e, pessoalmente, não estamos nem perto desse objetivo. Portanto, é importante ser pacífico e seguir a ciência, e é para isso que a Mosaic AI se esforça. Tentamos nos concentrar em coisas que são úteis para os humanos, na esperança de criar um mundo melhor. Faremos o nosso melhor, mas o mais importante, seguiremos a ciência, nos guiaremos pelos dados e atingiremos esse objetivo por meio de resultados reais, não da retórica.
Abhinav: Acho que não há nada como fazer pesquisa em uma comunidade aberta. Na comunidade, não apenas um grande número de pessoas presta atenção ao seu modelo, mas também dá suas opiniões sobre os problemas do modelo e como melhorá-lo. Esse tipo de pesquisa aberta será o caminho a seguir, tanto para manter nossos modelos seguros quanto para aprofundar o impacto no mundo real e as consequências desses modelos de IA.
Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Contexto infinito para modelos grandes e a arte da composição de conjuntos de dados
Fonte | Espaço Latente
compilação OneFlow
Tradução|Jia Chuan, Yang Ting, Wan Zilin
O comprimento do contexto costumava ser uma das maiores limitações do GPT-3. O GPT-3 só pode aceitar até 4.000 tokens (3.000 palavras, 6 páginas), caso contrário, um erro será relatado. Portanto, para lidar com documentos longos e prompts (), é necessário introduzir outras técnicas de recuperação, como LangChain. No entanto, o MosaicML (que foi adquirido pela Databricks por cerca de US$ 1,3 bilhão) abriu o contexto MPT-7B no início de maio com um comprimento de 84.000 tokens (63.000 palavras, 126 páginas), expandindo consideravelmente a gama de texto que pode ser processado. , O modelo Claude desenvolvido pela Anthronpic tem um comprimento de contexto estendido para 100.000 tokens.
A MosaicML também lançou três modelos MPT-7B-Instruct, MPT-7B-Chat, MPT-7B-StoryWriter-65k+ baseados no MPT-7B básico para ajuste fino.
O modelo é ajustado em dolly_hhrlhf. O conjunto de dados dolly_hhrlhf é construído sobre o conjunto de dados "dolly-5k".
O modelo é ajustado nos conjuntos de dados ShareGPT-Vicuna, HC3, Alpaca, Útil e Inofensivo e Evol-Instruct.
O conjunto de dados de ajuste fino para este modelo é um subconjunto filtrado de romances em books3 com um comprimento de contexto de 65k. Embora o tamanho anunciado fosse de 65 mil tokens, a equipe conseguiu obter uma resposta de 84 mil tokens ao executar em uma GPU A100-80 GB de um único nó. A principal tecnologia por trás disso é o ALiBi. O Grande Gatsby originalmente tinha apenas cerca de 68 mil tokens, então a equipe usou o modelo MPT-7B-StoryWriter-65k+ para criar um novo final para o romance.
O cientista-chefe do MosaicML, Jonathan Frankle, e o cientista de pesquisa Abhinav Venigalla são os chefes do MPT-7B, liderando todo o processo de treinamento do MPT-7B. No último podcast do Latent Space, o principal parceiro da Swyx e da Decibel Partners, Alessio, discutiu com eles a inovação do processo de treinamento MPT-7B e explicou por que a combinação de conjuntos de dados LLM é uma arte importante e misteriosa. Além disso, alguns benchmarks tradicionais de múltipla escolha podem não ser muito úteis para a tecnologia que está sendo construída e também explorarão as razões por trás disso.
(O conteúdo a seguir é compilado e liberado pela OneFlow após autorização, fonte: https://
Construção do modelo MPT-7B
**Swyx: Por que você desenvolveu o MPT-7B? **
Abhinav: O projeto MPT-7B levou cerca de 6 a 12 meses. Começamos a trabalhar em modelos de linguagem no verão passado e publicamos uma postagem no blog que analisava os modelos de linguagem e descobria que o custo do treinamento pode ser muito menor do que as pessoas pensam. Também desde então, inspirados pelo modelo LLaMA lançado pela Meta AI e muitos outros trabalhos de código aberto, nos propusemos a criar um modelo realmente bom com 7 bilhões de parâmetros, que é a origem do MPT.
Alessio: Você disse em um dos podcasts: Mosaic não tem planos de construir e lançar modelos. Mas no final você lançou o modelo mesmo assim, o que te fez mudar de ideia?
Jonathan: Acho que há vários fatores: Ainda não temos um modelo de primeira classe. Ao contrário do OpenAI, onde nosso negócio gira em torno de clientes criando seus próprios modelos, nós fornecemos principalmente as ferramentas e, para que essas ferramentas sejam eficazes, precisamos primeiro criar nossos próprios modelos.
Tem que ficar claro que se nossos clientes podem fazer grandes coisas, nós também podemos fazer grandes coisas. Muitas pessoas no Twitter questionaram a veracidade dos números que o Mosaic mostrou, como Ross Whiteman dizendo: "Vamos ver os resultados reais", ao que eu diria: "Ross, o que você acha disso? ?” Desenvolvemos o modelo em 9,5 dias a um custo de $ 200.000, então você também pode fazer isso.
**Swyx: **Referindo-se aos dados que você divulgou no ano passado, foi inicialmente estimado que o custo do treinamento GPT-3 era inferior a US$ 450.000 e depois foi reduzido para US$ 100.000; o custo da difusão estável também foi reduzido de US$ 160.000 para menos de $ 50.000.
Jonathan: Ainda estou muito cauteloso sobre o valor de $ 100.000. Ainda não chegou, mas estamos caminhando nessa direção, e isso é um grande desafio para o Abhi.
Swyx: Existem três variantes do modelo MPT-7B, uma das quais alcança SOTA em termos de comprimento de contexto, qual é o processo de treinamento para esses modelos?
Abhinav: Nosso modelo básico é uma recriação do LLaMA-7B, com 7 bilhões de parâmetros e dados de treinamento de 1 trilhão de tokens, fornecendo um ponto de partida de treinamento eficiente para o modelo de ajuste fino sem intervenção excessiva. O ajuste fino do modelo também é muito interessante, como MPT-7B-StoryWriter-65k+ pode ser usado para escrever histórias, o comprimento da janela de contexto é de 65.000 e também pode continuar escrevendo com base no conteúdo conhecido.
Claro, esta é apenas uma das direções em que pensamos. Você pode usar o modelo MPT-7B Base para construir modelos personalizados para atender a diferentes necessidades, como modelos de código de contexto longo ou modelos de linguagem específica. Assim, com base no modelo básico, três variantes foram construídas, MPT-7B-Instruct, MPT-7B-Chat e MPT-7B-StoryWriter-65k+, que são usadas para seguir instruções curtas, diálogos de bate-papo e escrever histórias, respectivamente.
Alessio: Como você decide quantos tokens e parâmetros usar ao treinar o modelo? 7 bilhões e 3 bilhões de parâmetros de modelo parecem ser dois números mágicos que estão em voga no momento.
Abhinav: Para modelos de treinamento, a lei de escala pode dizer como fazer o uso mais eficiente dos recursos de computação de treinamento. Por exemplo, se o orçamento for de 200.000 dólares americanos, então, de acordo com a lei da escala, o programa de treinamento mais eficaz pode ser oferecido.
Dentre elas, a que mais seguimos é a lei da chinchila. Para o modelo MPT-7B e suas variantes relacionadas, essas leis não são seguidas à risca, pois queremos garantir que o modelo seja adequado para uso pessoal e tenha bom desempenho de inferência, por isso é supertreinado, ultrapassando o Chinchilla Point (referente aos dados nível medido em fichas). Algumas pessoas na Internet, brincando, chamam esses modelos de Llongboi porque seu tempo de treinamento é bastante longo. Tomando o modelo 7B como exemplo, o Chinchilla Point pode ter 140 bilhões de tokens, mas na verdade treinamos 1 trilhão de tokens, então O tempo de treinamento é quase 7 vezes mais do que o normal.
**Swyx: Llongboi está se referindo a um método de treinamento? **
Jonathan: Llongboi é apenas uma piada interna, referindo-se a um método de treinamento que usa mais fichas do que determina a lei de Chinchilla. Pode-se ver que Llongboi tem dois "L" no início, que é usado para homenagear LLaMA. Nosso CEO uma vez tornou o nome público no Twitter, referindo-se ao modelo como "Llongboi". Às vezes eu quero muito tirar a senha do twitter dele para não vazar mais cedo, mas agora o mundo inteiro sabe o nome.
Sobre arquitetura, ALiBi, contexto
**Alessio:**Flash Attention e Faster Transformer são os dois elementos centrais da construção do seu modelo. Quais são suas vantagens?
**Abhinav:**Flash Attention é uma implementação mais rápida do Full Attention, desenvolvido pelo laboratório Hazy Research de Stanford. Integramos o Flash Attention em nossa biblioteca em setembro passado e ele desempenhou um papel importante no treinamento e na velocidade de inferência. Comparado com outros modelos Hugging Face, este modelo é muito especial. Ele pode alternar entre a atenção geral da tocha e a atenção do flash especialmente projetada para GPU, o que torna a velocidade de treinamento do modelo aumentada em cerca de 2 vezes e a velocidade de inferência aumentada em 50%. -100%.
**Swyx: O que motivou você a escolher a codificação posicional ALiBi? **
Abhinav: Combinamos codificação posicional ALiBi, Flash Attention e estabilidade de treinamento de uma maneira interessante. ALiBi é capaz de eliminar a necessidade de incorporações posicionais no modelo. Anteriormente, se um token tivesse a posição 1, você precisava adicionar uma incorporação de posição específica e não poderia exceder a posição máxima (geralmente 2.000). Mas com ALiBi, esse problema é resolvido. Precisamos apenas adicionar um viés no Mapa de Atenção, que é como uma inclinação, e se for necessário um intervalo maior de posições para inferência, ele estenderá essa inclinação para um número maior de posições. Essa abordagem funciona porque a inclinação é contínua e pode ser interpretada.
Curiosamente, através do Flash Attention, o modelo economiza muita memória e melhora o desempenho, então começamos a realizar testes de desempenho em modelos com contextos muito longos (até 65k) no ano passado e, ao mesmo tempo, é muito difícil de executar treinamento estável. Mais tarde, tentamos integrar o ALiBi ao modelo e a estabilidade do modelo foi significativamente melhorada. Agora podemos treinar modelos de escrita de histórias de forma estável em contextos muito longos e garantir o uso eficiente deles.
Jonathan: O comprimento do contexto é tecnicamente ilimitado. Contanto que haja memória suficiente, o diálogo pode continuar indefinidamente. Acreditamos que o maior número que o modelo pode manipular é 84K, que é o maior comprimento de contexto que os humanos podem manipular confortavelmente na prática. Mas também tentamos comprimentos de contexto superiores a 84K na prática e podemos lidar com comprimentos maiores.
**Swyx:**Por exemplo, podemos inserir o romance "O Grande Gatsby" no modelo e, em seguida, permitir que o modelo continue a escrever o romance de acordo com o texto de entrada e, finalmente, o modelo gera um conteúdo bastante interessante.
Jonathan: Existem muitas versões realmente boas do final da história no Mosaic. Uma versão descreve o funeral de Gatsby, Nick começa a falar com o fantasma de Gatsby, o pai de Gatsby também aparece e então ele e Tom aparecem na delegacia. Esta versão coloca muita ênfase no enredo, descrevendo o que acontece a seguir. Além disso, muitas versões têm finais bem ao estilo de Fitzgerald e são lindamente escritas. Portanto, é emocionante ver que o modelo parece estar processando a entrada e produzindo uma saída significativa. Podemos fazer muito com esse comprimento de contexto.
Alessio: A memória começa a se tornar uma das restrições do modelo, então como o tamanho do parâmetro e o comprimento do contexto devem ser escolhidos?
Jonathan: Recentemente, a pesquisa sobre contextos longos atraiu muita atenção e uma série de artigos relacionados surgiram. No entanto, esses artigos não são totalmente precisos e, até certo ponto, especialmente no que diz respeito aos mecanismos de atenção, eles comparam mecanismos de atenção não quadráticos (como atenção aproximada e hierárquica) com atenção quadrática explícita e correta. . Estou otimista com os métodos de aproximação, então mal posso esperar para pesquisar esses artigos.
Escrever e ler artigos me ensinou uma lição importante sobre não confiar em dados até que você mesmo os tenha feito. Na Mosaic, ficamos desapontados com as implementações muitas vezes porque os artigos que pareciam promissores no início só perceberam após a implementação que os artigos haviam manipulado os dados. Como tal, sou sempre cético em relação aos dados e não confio em nenhum resultado até que eles sejam reimplementados e validados. No geral, a prática valeu a pena e, muitas vezes, as teorias não funcionaram tão bem na prática quanto o esperado.
Recursos do MPT-7B
**Swyx: Quais são os recursos específicos do MPT-7B? **
Abhinav: Eu dividiria isso em duas partes, a primeira é a estabilidade do treinamento. Esta questão pode ser dividida em três partes. Primeiro, o modelo precisa evitar picos de perda durante o treinamento, que é nossa primeira linha de defesa. Na minha opinião, os picos de perda não são um grande problema em um tamanho de treinamento de 7 bilhões de parâmetros. No entanto, evitar picos de perda torna-se difícil à medida que o tempo de treinamento aumenta. Passamos muito tempo tentando descobrir como ajustar métodos de inicialização, otimizadores, arquiteturas etc. para evitar picos de perda. Mesmo durante nosso treinamento, se olharmos com atenção, ainda podemos encontrar alguns pequenos picos intermitentes, mas esses picos voltarão ao normal em algumas centenas de passos, o que é um fenômeno muito mágico, que pode nos ajudar naturalmente a partir da perda de pico recuperada.
Determinismo e estratégias inteligentes de recuperação são nossa segunda linha de defesa. No caso de um erro catastrófico, poderemos retomar rapidamente o treinamento, aplicando alguma intervenção nos poucos lotes anteriores à falha. Para possíveis problemas, fizemos vários preparativos. No entanto, no treinamento do MPT-7B, não usamos essas medidas de backup, o que deve ser considerado uma espécie de sorte.
A infraestrutura de treinamento correta é a terceira linha de defesa. Se tentarmos treinar o modelo em centenas de GPUs, geralmente haverá falhas de hardware. Por exemplo, ao treinar um modelo em um cluster grande com 512 GPUs, o treinamento falhará quase a cada dois dias. O motivo da falha pode ser uma falha de rede.
Normalmente, as pessoas montam equipes de plantão 24 horas por dia, sete dias por semana, para lidar com essas falhas. Quando há uma falha, a equipe tenta verificar o cluster, remover nós quebrados, reiniciar etc., o que é uma tarefa muito tediosa. Costumávamos passar meses verificando erros manualmente, mas agora construímos uma plataforma para automatizar cada nó no processo de treinamento do modelo.
Quando há um problema com a execução de um modelo, nosso sistema de monitoramento automatizado interrompe o trabalho, testa e verifica se há nós quebrados e reinicia. Devido aos recursos determinísticos e de recuperação rápida de nosso software, o modelo continua a funcionar perfeitamente. Como resultado, às vezes podemos ver nos logs do modelo que, depois que um modelo falha às 2h, ele volta a funcionar em minutos sem intervenção manual de um membro da equipe.
Jonathan: Realmente não é fácil fazer isso. Se houvesse uma falha de hardware no modelo alguns meses atrás, os membros da equipe teriam que levantar às duas horas da manhã para verificar a causa do problema. a falha do nó e reinicie o trabalho. Anteriormente, mesmo em uma escala de treinamento de 7 bilhões de parâmetros, frequentemente encontramos picos de perda catastróficos, e esses problemas afetavam seriamente o treinamento do modelo.
Agora abordamos esses problemas por meio de melhorias incrementais. Como Abhinav disse, agora podemos sentar em um escritório enquanto treinamos vários modelos sem nos preocupar com a falha do modelo e a interrupção do treinamento.
Seleção e repetição de dados e os desafios de avaliação do LLM
**Swyx: A seleção de dados é o seu foco, você pode expandi-la? **
Jonathan: Abhi quase me matou quando tentei usar toda a GPU para processamento de dados em vez de realmente treinar o modelo. Sabemos que treinar um modelo requer muitos dados, mas também existem muitas incertezas.
Uma é quais tipos de fontes de dados diferentes são importantes e a outra é a importância da duplicação. Entre eles, a questão sobre a duplicação pode ser dividida em trade-offs de qualidade e quantidade. Suponha que eu tenha os melhores 10 bilhões de dados lexicais do mundo, é melhor treiná-los novamente cem vezes ou é melhor usar 1 trilhão de dados lexicais atualizados e de baixa qualidade? Claro, pode haver um ponto de compromisso, mas como determinar dados de alta qualidade também é um problema e ainda não há uma resposta clara. Se eu fosse voltar para a academia agora, com certeza escreveria um artigo sobre isso, porque ainda não sei nada sobre isso.
Swyx: Não vi nenhum trabalho de pesquisa sobre isso até agora.
Jonathan: A questão central da pesquisa de tese é "que tipo de combinação de conjunto de dados deve ser usada".
No processo de criação do modelo, voltei para a Georgetown Law School, onde lecionei, e me sentei com um grupo de estudantes de direito para discuti-lo. Forneço a eles um conjunto de dados de alta qualidade, como misturar os dados e o número de tokens que eles possuem, e os deixo criar o melhor conjunto de dados para seu modelo.
Eles não sabem nada sobre LLMs além de que os dados de entrada afetam o comportamento. Eu digo a eles para criar um híbrido que cubra todas as diferentes compensações. A princípio, pode ser necessária uma grande quantidade de corpus em inglês, que pode ser obtido pela Internet; se você quiser torná-lo um modelo multilíngue, o corpus em inglês será bastante reduzido; além disso, incluir o código em isto.
Algumas pessoas pensam que o código pode fazer o modelo funcionar melhor no raciocínio lógico, mas nunca vi nenhuma evidência para apoiar essa ideia. Embora tenhamos realmente desenvolvido um excelente modelo de código, se o modelo de código pode levar a uma melhor capacidade de raciocínio da cadeia de pensamento requer mais pesquisas.
Diz-se que uma versão do GPT-3 foi treinada a partir do romance "O Código Da Vinci", então algumas pessoas pensam que isso pode ser útil, mas não há evidências; ) ajudará no treinamento do modelo, mas também há uma falta de provas.
Portanto, experimentamos muitas misturas de dados diferentes e descobrimos que algumas misturas de dados funcionaram melhor ou pior do que outras. Por exemplo, "The Pile" é um mix de dados muito estável, mas de acordo com as métricas de avaliação, existem outros mixes de dados melhores. A seguir vou tocar também na questão da avaliação, que é muito importante.
O modelo T5 foi originalmente treinado no conjunto de dados C4, que teve um desempenho excepcionalmente bom. Outros, incluindo Stella Beaterman da EleutherAI, mencionaram isso quando eu tuitei sobre isso. No artigo original sobre o modelo T5, o método de pré-processamento para o conjunto de dados C4 parece estranho e os autores removeram tudo o que continha a palavra "Java" do conjunto de dados porque não queriam avisos relacionados a Java. Além disso, eles removeram a inclusão de chaves porque não queriam obter a inclusão de Java.
Eles analisaram uma lista de palavrões e removeram o conteúdo que continha palavrões. No entanto, a lista de palavrões na verdade inclui algumas palavras que não são realmente ruins, como "gay". Mas, devido a esse processo de limpeza, o conjunto de dados resultante parece ser incomparável. A partir deste ponto, não sabemos nada sobre os dados.
Na verdade, também usamos um conjunto de dados chamado MC4, MC4 e C4 tiveram o mesmo pré-processamento, mas adicionaram mais chamadas da web (chamadas da web), mas em comparação com C4, a parte em inglês do MC4 é pior, por razões desconhecidas.
Para isso, estabeleci dois critérios:
Em primeiro lugar, a parte em inglês deve ser pelo menos tão boa quanto MC4. Em comparação com outros conjuntos de dados disponíveis, a parte em inglês do MC4 é melhor. Em segundo lugar, dê tudo de si na diversidade de dados e certifique-se de que o conjunto de dados inclua coisas como código, artigos científicos e Wikipedia, porque as pessoas usarão o modelo para uma variedade de tarefas diferentes.
Mas acho que, o mais importante, o modelo é tão bom quanto a métrica de avaliação. Abhi pode discordar neste ponto. Não sabemos como avaliar com precisão modelos generativos quando solicitados a realizar tarefas específicas. Em alguns casos, temos que admitir que nossas próprias avaliações nem sequer medem aquilo com que realmente nos importamos, então só podemos fazer escolhas razoáveis.
Swyx: Você acha que métodos de avaliação como MMLU (Massive Multitask Language Understanding) e BIG-bench não são suficientemente convincentes?
Jonathan: Esses métodos, sem dúvida, realizam dois tipos de tarefas. Uma é uma tarefa de múltipla escolha, que contém uma resposta correta, que permite ao modelo gerar opções como A, B, C ou D e, em seguida, escolhe a resposta que o modelo provavelmente gerará calculando a perplexidade de cada resposta possível. Mas, em vez de pedir ao modelo para fazer perguntas de múltipla escolha, fazemos um segundo tipo de tarefa generativa aberta, como o resumo. A comparação usando métricas como BLEU e ROUGE não é precisa o suficiente, existem muitos resumos de artigos excelentes e métodos de geração aberta. Por outro lado, o manual é um padrão de avaliação mais confiável, mas a avaliação manual é muito demorada e trabalhosa, e não pode ser comparada com o modelo em tempo real, o que pode ser possível no futuro.
Abhinav: Temos uma ótima equipe de avaliação que está nos ajudando a criar novas métricas.
Jonathan: Mas os LLMs são difíceis de avaliar e não acho que nenhuma dessas métricas realmente reflita o que esperaríamos de um modelo na prática.
Redução de custos e aumento da eficiência do treinamento do modelo
Swyx: Agora, as pessoas levam de três a dez dias para treinar um modelo. Quanto tempo você deseja reduzir esse tempo?
Abhinav: Este ano é provavelmente um dos anos mais empolgantes em termos de melhorias na eficiência do treinamento de modelos brutos. Este ano, tanto o hardware quanto o software foram atualizados de acordo. O primeiro é o hardware H100s de nova geração da Nvidia, que sozinho pode melhorar o desempenho em pelo menos duas vezes. Em segundo lugar, há um novo formato de número de ponto flutuante FP8, que pode atingir a mesma melhoria de desempenho quando usado sozinho.
Alguns anos atrás, começamos a usar a precisão de 32 bits e, em seguida, a Nvidia introduziu a precisão de 16 bits. Após vários anos de desenvolvimento, gradualmente dominamos as habilidades de treinamento de 16 bits devido à melhoria contínua dos requisitos.
Com o FP8 deste ano, podemos dobrar o rendimento, o que significa que podemos triplicar o custo. Ao mesmo tempo, começamos a traçar o perfil do treinamento LLM usando FP8 no H100, e o progresso tem sido rápido. Então, apenas melhorando o hardware, podemos reduzir muito o custo.
Além disso, existem muitos estudos sobre aplicações de arquitetura. Estamos explorando maneiras de introduzir alguma dispersão, mas não uma dispersão completamente aleatória. Existe um mecanismo de gating ou uma maneira arquitetônica no estilo MoE para conseguir isso?
Nosso objetivo original era reduzir o custo de treinamento do modelo GPT-J de US$ 500.000 para US$ 100.000, e se conseguirmos isso até o final do ano, seria uma grande conquista.
Jonathan: Esta ideia não é um castelo no ar. Embora essa etapa ainda não tenha sido alcançada, essa meta provavelmente será alcançada até 2023.
Estatísticas sobre custos de treinamento e inferência são escassas. David Patterson, do Google, publicou uma postagem no blog discutindo o uso de energia do Google para aprendizado de máquina. Após uma análise detalhada, nos últimos três anos, o Google gastou três quintos de seus recursos em inferência e dois quintos em treinamento. Os dados acima são do Google, eles fornecem modelos para bilhões de usuários.
O Google é provavelmente o lugar com a maior carga de inferência do mundo. E isso é apenas alocação de recursos para treinamento, com inferência respondendo por três quintos e treinamento respondendo por dois quintos. O hardware pode ser mais caro e a estrutura de rede do hardware pode ser mais complexa, portanto, o treinamento e o raciocínio podem ser divididos pela metade. O acima é a taxa de alocação do Google, mas para outras empresas, o treinamento pode representar um peso maior.
A importância da abertura para a pesquisa de IA
Alessio: O custo do treinamento anterior era muito caro, o que nos impedia de realizar experimentos suficientes, então havia muitos problemas na seleção de conjuntos de dados e assim por diante.
Jonathan: Na pós-graduação, eu costumava ter inveja dos meus amigos porque eles tinham GPUs e eu não tinha uma no meu laptop, então não podia treinar nenhum modelo. Eu fantasiei em ganhar na loteria para ter uma GPU K80.
No fundo, ainda sou aquele ávido estudante de ciências. Acredito fortemente que, se queremos fazer pesquisa científica e realmente entender esses sistemas, como fazê-los funcionar bem, entender os elementos de seu comportamento, segurança e confiabilidade, temos que reduzir o custo do treinamento para que possamos realmente fazer pesquisas científicas. pesquisar. Veja experimentos biológicos, por exemplo, onde precisamos fazer várias culturas de células e experimentos para garantir que uma droga funcione, muita pesquisa científica é necessária antes de realmente entendermos alguma coisa.
**Abhinav:**A MosaicML tem muitos clientes que estão tentando treinar modelos, então a empresa tem um incentivo para dedicar muitos recursos e tempo à pesquisa científica. Somente compreendendo verdadeiramente como os modelos devem ser treinados poderemos ajudar mais pessoas. Então, para nós, esse processo de agregação é muito importante.
Lembro que havia um artigo do Google antes que investigava o tamanho do lote ou algo assim. Este jornal provavelmente custou milhões de dólares e traz enormes benefícios para a comunidade como um todo. Agora, todos nós podemos aprender com isso e economizar dinheiro sem quebrar o banco. Portanto, para a Mosaic, por meio de pesquisas experimentais, obtivemos insights profundos sobre dados, arquitetura de pré-treinamento etc., e é por isso que os clientes nos escolhem.
Jonathan: A abertura é muito importante para a comunidade de IA. De certa forma, não temos motivos para fechar. Ganhamos dinheiro ajudando os clientes a treinar modelos. Não há perda de compartilharmos os resultados com a comunidade. Afinal, temos que ganhar dinheiro com modelos personalizados e excelente infraestrutura. E reunir esses aspectos é o motivo pelo qual chamamos nossa empresa de MosaicML.
Mantivemos sempre uma atitude aberta e não vamos esconder os resultados que alcançámos. Mas agora, descobri que nos tornamos um dos maiores laboratórios de código aberto da indústria, o que é um fato triste, porque o MosaicML não é tão grande em termos da indústria como um todo, temos apenas cerca de 15 pesquisadores, muitos outros Os laboratórios fecharam e não publicam mais muito conteúdo publicamente. No entanto, o MosaicML continuará a se comunicar e compartilhar com a comunidade e fará o possível para se tornar um pioneiro da pesquisa aberta. Embora nossa escala e volume de pesquisa não correspondam aos de um grande laboratório, continuaremos a compartilhar o que aprendemos em um esforço para criar recursos para a comunidade.
Quando discuto o ecossistema de IA com formuladores de políticas, sempre surge uma preocupação comum: a falta de abertura atrapalha o ritmo da inovação. Venho enfatizando essa questão há anos, mas finalmente é uma realidade. Eu defendo o código aberto, mas não acho que todo mundo vai compartilhar seu trabalho. Antigamente, considerávamos o código aberto garantido, mas esse não é mais o caso.
Acho que vai desacelerar nosso desenvolvimento. Em muitos casos, existe uma cultura monolítica em cada laboratório, e a comunicação é um importante motor para o progresso científico. Portanto, o código aberto não é apenas indispensável na comunidade de código aberto e na academia, mas também crítico para o avanço da tecnologia. Precisamos de uma comunidade vibrante de pesquisa de código aberto.
Tendências futuras
Swyx: Você mencionou que muitas coisas não duram muito e são facilmente substituídas, mas o Transformer veio para ficar.
Jonathan: Transformers sempre existirão. As Redes Neurais Convolucionais (CNNs) ainda estão em uso hoje, e os Transformadores Visuais não tomaram seu lugar. Veja a rede neural recorrente (RNN), que existe há décadas, mas ainda está ativa em muitos campos. Como resultado, a implementação de grandes melhorias de infraestrutura é difícil.
Abhinav: Acho que sua aposta depende muito do que se define como atenção. Se uma operação como a multiplicação de matrizes QK for substituída por um método semelhante, que efeito isso terá no resultado?
Jonathan: Na análise final, esta é apenas uma rede feedforward totalmente conectada, Transformer com um mecanismo de atenção simples. Portanto, as coisas podem mudar, mas continuamos a usar o Transformer como Ashish Vaswani (autor do Transformer) imaginou há seis anos e talvez continue a fazê-lo no futuro.
Abhinav: Acho que vai ficar parecido com o MLP (Multilayer Perceptron), que é a única opção que temos no momento, pois agora a arquitetura foi bastante simplificada, deixando apenas algumas camadas lineares, conexões residuais, Atenção , operação de multiplicação de pontos.
Jonathan: Sua suposição é que a arquitetura se tornará mais simples, mas a realidade pode ser o oposto e a arquitetura pode se tornar mais complexa.
Swyx: O que você pensa sobre o recente debate sobre "fenômenos emergentes"?
Abhinav: Eu vi artigos semelhantes, e estes são provavelmente apenas subprodutos de técnicas de avaliação como escala de log, métricas de avaliação e o que estamos fazendo agora é a precisão da malha, que é um julgamento estritamente binário, ou seja, classificar os resultados como verdadeiros ou falsos, sem levar em conta diferenças sequenciais mais refinadas.
Mas, semelhante ao ponto de Jonathan sobre avaliação, também temos um problema com a diversidade de métricas de avaliação: quando lançamos esses modelos, mesmo o modelo de bate-papo, o modelo de comando, as pessoas costumam usá-lo para uma variedade de tarefas diferentes. Dificilmente podemos medir e avaliar cada dimensão com precisão de antemão e, mesmo em uma escala de 7 bilhões, esses modelos ainda funcionam mal em algumas tarefas MMLU muito difíceis. Às vezes, eles pontuam pouco acima do acaso, especialmente ao lidar com tarefas muito difíceis.
Portanto, alguns desses problemas podem ser mais úteis para nós à medida que buscamos modelos de maior qualidade. No entanto, desenvolvemos o MPT-7B um pouco às cegas porque não entendíamos totalmente como o modelo se comportaria. Ele só pode ser desenvolvido em relação a um pequeno conjunto de tarefas comuns de inferência perceptiva, e o desempenho é avaliado comparando essas métricas com outros modelos de código aberto.
Alessio: Acho que inferência e treinamento rápidos são um dos objetivos, então há uma compensação entre resolver as tarefas mais difíceis e ser rápido em outras tarefas.
Abhinav: Sim. Mesmo na escala de 7 bilhões de dados, as pessoas tentarão executá-lo na CPU em casa ou tentar portar para o telefone celular, principalmente porque aplicativos de pequena escala levarão as pessoas a adotar essa tecnologia, e essa é uma tendência importante em o momento.
Alessio: Quais são algumas coisas na IA que estão se movendo muito mais rápido do que o esperado?
Jonathan: Lembro-me de quando o GPT-2 foi lançado, não fiquei muito animado, mas naquela época já tinha 1,5 bilhão de parâmetros. À medida que os modelos aumentam de tamanho, seu desempenho não pode continuar a melhorar. Então o GPT-3 foi lançado e eu pensei que era um pouco melhor na geração de texto, mas eu estava errado de novo e de novo. Aumentar a escala do modelo pode gerar modelos muito úteis ao prever o próximo token.
Para ser justo, estamos praticamente todos errados sobre isso, então também não podemos nos culpar. Caso contrário, Google, Facebook e Microsoft Research teriam lançado megamodelos de linguagem matadores muito antes de eu ter a chance de agir. Fiz uma aposta muito estranha que acabou dando certo: os modelos de difusão, embora um tanto estúpidos, produziam imagens incrivelmente belas.
Abhinav: Em relação aos chatbots em escala, acho que levará muito tempo até que centenas de milhões de pessoas tenham conversas massivas com modelos de IA. Com tantas startups e empresas agora usando não apenas o ChatGPT, mas outros projetos como a criação de personagens, é incrível quantas pessoas estão realmente criando conexões emocionais com esses modelos de IA. Acho que não teria previsto isso em setembro ou outubro do ano passado. O ponto de inflexão que ocorreu nos últimos seis meses foi verdadeiramente inesperado.
Swyx: Para que você acha que eles serão usados, como apoio emocional?
Abhinav: Alguns deles são para apoio emocional ou apenas como amigos. Solidão e problemas de saúde mental são um tema quente. Se você for aos subreddits dessas comunidades, as pessoas estão falando e pensando sobre seus amigos de IA e esses personagens, é como algo saído da ficção científica, e eu nunca esperei que isso acontecesse.
Swyx: Qual é o problema não resolvido mais interessante da IA?
Abhinav: Estou interessado em saber até onde podemos ir em termos de precisão e algo como BF16/FP16.
Eu me pergunto se esses problemas se tornam mais tratáveis à medida que o tamanho do modelo aumenta. Documentos relacionados mostram que a quantização e a poda podem se tornar mais fáceis à medida que a escala aumenta. Então, como consequência natural do aumento de escala nos próximos anos, podemos passar a usar pesos de quatro ou dois bits ou mesmo binários.
Jonathan: Eu queria ver de outra maneira o tamanho de um modelo que poderíamos alcançar e com que eficiência poderíamos desenvolver um modelo com desempenho equivalente. Essa foi a questão com a qual trabalhei durante todo o meu doutorado e, de certa forma, também na Mosaic. A OpenAI nos mostrou um caminho para essa capacidade incrível, ou seja, dimensionamento. Mas espero que este não seja o único caminho. Espero que haja muitas outras maneiras de conseguir isso também, por meio de melhores métodos de modelagem, melhores algoritmos, etc.
Embora eu não seja fã de alegorias da neurociência, de certa forma nossa existência e nossos cérebros provam que existe pelo menos outra maneira de alcançar essa habilidade incrível sem trilhões de parâmetros ou mesmo astronômicos.Investimento de capital. Então, estou realmente curioso sobre o tamanho do modelo que podemos alcançar? Existe outro caminho para esses recursos que não precise seguir o caminho atual? Espero encontrar a resposta no Mosaic, se existir.
Swyx: Exatamente, uma das coisas que mais me interessa é o fato de que o cérebro humano consome apenas 30 watts de energia, e o modelo está muito longe disso.
Abhinav: Não acho que haja uma maneira de conseguir isso com uma única GPU ou outras ferramentas sozinhas.
Alessio: Há muita informação acontecendo agora, como como as pessoas devem pensar sobre inteligência artificial? Em que eles devem se concentrar?
Jonathan: Fique calmo. Algumas pessoas levam o hype muito a sério; outras são muito pessimistas, reagindo fortemente a ele ou negando-o até certo ponto. Fique tranquilo e saiba que criamos uma ferramenta muito útil.
Mas ainda não construímos inteligência geral e, pessoalmente, não estamos nem perto desse objetivo. Portanto, é importante ser pacífico e seguir a ciência, e é para isso que a Mosaic AI se esforça. Tentamos nos concentrar em coisas que são úteis para os humanos, na esperança de criar um mundo melhor. Faremos o nosso melhor, mas o mais importante, seguiremos a ciência, nos guiaremos pelos dados e atingiremos esse objetivo por meio de resultados reais, não da retórica.
Abhinav: Acho que não há nada como fazer pesquisa em uma comunidade aberta. Na comunidade, não apenas um grande número de pessoas presta atenção ao seu modelo, mas também dá suas opiniões sobre os problemas do modelo e como melhorá-lo. Esse tipo de pesquisa aberta será o caminho a seguir, tanto para manter nossos modelos seguros quanto para aprofundar o impacto no mundo real e as consequências desses modelos de IA.