paint-brush
ChipNeMo: LLMs adaptados ao domínio para design de chips: avaliaçõespor@textmodels
117 leituras

ChipNeMo: LLMs adaptados ao domínio para design de chips: avaliações

Muito longo; Para ler

Os pesquisadores apresentam o ChipNeMo, usando adaptação de domínio para aprimorar LLMs para design de chips, alcançando uma redução de até 5x no tamanho do modelo com melhor desempenho.
featured image - ChipNeMo: LLMs adaptados ao domínio para design de chips: avaliações
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

Autores:

(1) Mingjie Liu, NVIDIA {Contribuição igual};

(2) Teodor-Dumitru Ene, NVIDIA {Contribuição igual};

(3) Robert Kirby, NVIDIA {Contribuição igual};

(4) Chris Cheng, NVIDIA {Contribuição igual};

(5) Nathaniel Pinckney, NVIDIA {Contribuição igual};

(6) Rongjian Liang, NVIDIA {Contribuição igual};

(7) Jonah Alben, NVIDIA;

(8) Himyanshu Anand, NVIDIA;

(9) Sanmitra Banerjee, NVIDIA;

(10) Ismet Bayraktaroglu, NVIDIA;

(11) Bonita Bhaskaran, NVIDIA;

(12) Bryan Catanzaro, NVIDIA;

(13) Arjun Chaudhuri, NVIDIA;

(14) Sharon Clay, NVIDIA;

(15) Bill Dally, NVIDIA;

(16) Laura Dang, NVIDIA;

(17) Parikshit Deshpande, NVIDIA;

(18) Siddhanth Dhodhi, NVIDIA;

(19) Sameer Halepete, NVIDIA;

(20) Eric Hill, NVIDIA;

(21) Jiashang Hu, NVIDIA;

(22) Sumit Jain, NVIDIA;

(23) Brucek Khailany, NVIDIA;

(24) George Kokai, NVIDIA;

(25) Kishor Kunal, NVIDIA;

(26) Xiaowei Li, NVIDIA;

(27) Charley Lind, NVIDIA;

(28) Hao Liu, NVIDIA;

(29) Stuart Oberman, NVIDIA;

(30) Sujeet Omar, NVIDIA;

(31) Sreedhar Pratty, NVIDIA;

(23) Jonathan Raiman, NVIDIA;

(33) Ambar Sarkar, NVIDIA;

(34) Zhengjiang Shao, NVIDIA;

(35) Hanfei Sun, NVIDIA;

(36) Pratik P Suthar, NVIDIA;

(37) Varun Tej, NVIDIA;

(38) Walker Turner, NVIDIA;

(39) Kaizhe Xu, NVIDIA;

(40) Haoxing Ren, NVIDIA.

Tabela de links

V. AVALIAÇÕES

Avaliamos nossa metodologia de treinamento e desempenho do aplicativo nesta seção. Estudamos os modelos 7B e 13B na avaliação da metodologia de treinamento, e apenas os modelos 13B na avaliação de desempenho da aplicação. Para comparação, também avaliamos dois modelos básicos de chat: LLaMA2-13B-Chat* e LLaMA2-70B-Chat. LLaMA2-13B-Chat* é o modelo básico LLaMA2 13B ajustado com nosso conjunto de dados de instruções de bate-papo de uso geral, que é diferente do modelo LLaMA2-13B-Chat original treinado com aprendizagem por reforço de feedback humano (RLHF). Optamos por fazer isso para uma comparação justa de modelos adaptados de domínio e modelos básicos sob a mesma abordagem de alinhamento de modelo. LLaMA2-70B-Chat é o modelo LLaMA2-Chat lançado publicamente e treinado com RLHF, que é considerado o modelo de chat de código aberto de última geração (SOTA).


A. Tokenizador


Adaptamos o tokenizer LLaMA2 (contendo 32 mil tokens) para conjuntos de dados de design de chip usando o processo de quatro etapas descrito anteriormente. Aproximadamente 9 mil novos tokens são adicionados ao tokenizer LLaMA2. Os tokenizadores adaptados podem melhorar a eficiência da tokenização em 1,6% a 3,3% em vários conjuntos de dados de design de chips, conforme mostrado na Figura 5. Não observamos nenhum sinal óbvio.


Figura 5: Melhorias no aumento do tokenizador ChipNeMo.


mudanças na eficiência do tokenizer em dados públicos. É importante ressaltar que não observamos declínio significativo na precisão do LLM em benchmarks públicos ao usar tokenizadores aumentados personalizados, mesmo antes do DAPT.


B. Pré-treinamento adaptativo de domínio


A Figura 6 apresenta os resultados dos modelos ChipNeMo no benchmark AutoEval para domínio de design de chip e benchmarks acadêmicos de domínio aberto. Nossos resultados de pesquisa podem ser resumidos da seguinte forma:


  1. Os modelos DAPT apresentam uma ligeira degradação na precisão dos benchmarks acadêmicos de domínio aberto.


  2. O DAPT exerce um impacto positivo substancial nas tarefas do próprio domínio. Este efeito se manifesta em melhorias significativas no conhecimento de design interno, bem como no conhecimento geral de design de circuitos.


  3. O uso de modelos fundamentais maiores e de melhor desempenho produz melhores resultados de disparo zero em tarefas específicas de domínio. Além disso, o emprego de modelos básicos superiores resulta em modelos de domínio aprimorados pós-DAPT, levando a um melhor desempenho em tarefas no domínio.


  4. As melhorias atribuídas ao DAPT com tarefas no domínio exibem uma correlação positiva com o tamanho do modelo, com modelos maiores demonstrando melhorias mais pronunciadas no desempenho de tarefas específicas do domínio pós-DAPT.


C. Estudos de Ablação de Treinamento


Para nossos estudos de ablação, conduzimos várias rodadas de pré-treinamento adaptativo de domínio. Fornecemos breves resumos e consultamos o Apêndice B para obter detalhes.


As diferenças entre o treinamento com o tokenizer aumentado e o tokenizer original pareciam ser insignificantes. Assim, atribuímos principalmente a degradação da precisão nos benchmarks acadêmicos aos dados de domínio. Além disso, a remoção do conjunto de dados públicos regrediu apenas ligeiramente na maioria das tarefas, incluindo benchmarks académicos, com exceção da codificação Verilog, onde observámos uma diferença notável. Isso sugere que a inclusão de dados GitHub Verilog contribuiu para recursos aprimorados de codificação Verilog, especialmente quando os modelos básicos não tinham dados suficientes neste domínio.


Em nossa exploração, experimentamos empregar uma taxa de aprendizado maior, como em CodeLLaMA [32]. Observamos grandes picos na perda de treinamento nas etapas iniciais do treinamento. Embora essa abordagem eventualmente tenha levado a um melhor treinamento e à perda de validação, observamos degradações substanciais em todos os benchmarks acadêmicos e específicos de domínio, exceto na codificação. Nossa hipótese é que uma taxa de aprendizado menor desempenhou um papel duplo, facilitando a destilação do conhecimento do domínio por meio do DAPT, ao mesmo tempo em que manteve um equilíbrio que não se afastou muito do modelo básico, preservando assim as capacidades gerais da linguagem natural.


Também exploramos a aplicação do Ajuste Fino Eficiente de Parâmetros (PEFT) no contexto do Pré-treinamento Adaptativo de Domínio (DAPT). Nessa busca, realizamos dois experimentos envolvendo a incorporação de adaptadores LoRA [16], introduzindo parâmetros adicionais de 26,4 milhões (pequeno) e 211,2 milhões (grande), respectivamente. Em ambos os casos, nossas descobertas revelaram uma lacuna significativa de precisão nas tarefas no domínio quando comparadas à abordagem DAPT de parâmetros completos. Além disso, ao contrastar os resultados entre modelos PEFT pequenos e grandes, observamos uma melhoria marginal na precisão das tarefas no domínio, com modelos grandes exibindo uma ligeira melhoria.


D. Custo de treinamento


Todos os modelos passaram por treinamento usando 128 GPUs A100. Estimamos os custos associados ao pré-treinamento adaptativo de domínio para ChipNeMo, conforme ilustrado na Tabela IV. É importante notar que o DAPT representa menos de 1,5% do custo total do pré-treinamento de um modelo fundamental do zero.


TABELA IV: Custo de treinamento dos modelos LLaMA2 em horas de GPU. Custo de pré-treinamento de [5].


E. RAG e Chatbot Assistente de Engenharia


Criamos um benchmark para avaliar o desempenho do atendimento por chat de design, que utiliza o método RAG. Este benchmark inclui 88 questões em três categorias: especificações de arquitetura/design/verificação (Specs), documentação de regressão do testbench (Testbench) e documentação de infraestrutura de construção (Build). Para cada pergunta, especificamos a resposta de ouro, bem como os parágrafos do documento de design que contém o conhecimento relevante para a resposta. Essas perguntas são criadas manualmente pelos designers com base em um conjunto de documentos de projeto como armazenamento de dados para recuperação. Inclui cerca de 1,8 mil documentos, que foram segmentados em 67 mil passagens, cada uma com cerca de 512 caracteres.


Primeiro, comparamos nosso modelo de recuperação adaptado ao domínio com Sentence Transformer [33] e e5_small_unsupervised [30] em cada categoria. Cada modelo busca suas 8 principais passagens do armazenamento de dados.


As consultas na categoria Especificações são derivadas diretamente de passagens nos documentos, portanto, suas respostas geralmente estão bem contidas em uma passagem concisa e abordam claramente a consulta


6: Resultado do benchmark AutoEval para ChipNeMo.


Fig. 7: Comparação de precisão do modelo de recuperação


Por outro lado, as consultas das categorias Testbench e Build não são derivadas diretamente de passagens, portanto suas respostas muitas vezes não eram tão aparentes nas passagens buscadas e exigiam mais contexto (veja o Apêndice C para exemplos detalhados). Isso contribui significativamente para a diferença na qualidade de recuperação entre as categorias.


Realizamos avaliação de vários modelos ChipNeMo e modelos LLaMA2 com e sem RAG. Os resultados foram então pontuados por avaliadores humanos em uma escala de 10 pontos e mostrados na Figura 8.


Fizemos as seguintes observações:


• RAG aumenta significativamente as pontuações humanas. RAG melhora as pontuações de LLaMA2-13B-Chat*, ChipNeMo-13B-Chat e LLaMA2-70B-Chat em 3,82, 2,19 e 5,05, respectivamente. Observe que as pontuações são geralmente mais altas mesmo com falha RAG, especialmente em modelos LLaMA2. Nossa hipótese é que o contexto adicional no domínio ajuda a aumentar o desempenho.


• ChipNeMo-13B-Chat supera LLaMA2-13B-Chat* de tamanho semelhante apenas no modelo e avaliações RAG em 2,88 e 1,25, respectivamente.


• ChipNeMo-13B-Chat com RAG atinge a mesma pontuação (7,4) que o modelo 5X maior LLaMA2-70B-Chat com RAG, onde LLaMA2-70B-Chat se sai melhor na extração de respostas em acertos; no entanto, a adaptação do domínio compensa as falhas.


Fig. 8: Avaliação Humana de Diferentes Modelos. O modelo representa apenas resultados sem RAG. RAG (Acerto)/(Erro) inclui apenas questões cujas passagens recuperadas atingem/erram seu contexto ideal, RAG (Total) inclui todas as questões.


• Domain SFT ajuda a melhorar o desempenho do ChipNeMo-13B-Chat em 0,28 (com RAG) e 0,33 (sem RAG).


Os resultados completos da avaliação de todos os modelos são mostrados no Apêndice D.


F. Geração de script EDA


Para avaliar nosso modelo na tarefa de geração de script EDA, criamos dois tipos diferentes de benchmarks. A primeira é um conjunto de tarefas de dificuldade “Fácil” e “Média” (soluções de 1 a 4 linhas) que podem ser avaliadas sem intervenção humana, comparando com uma resposta de ouro. Devido ao trabalho necessário para construir e avaliar esses benchmarks, só temos esta avaliação definida para nossa tarefa Python. O segundo conjunto de tarefas (“Difíceis”) vem de cenários de casos de uso reais escolhidos por nossos engenheiros. Essas tarefas são muito mais difíceis, exigindo 10 linhas para serem resolvidas. Como são difíceis de avaliar de forma automática, pedimos a engenheiros humanos que avaliassem a correção entre 0% e 100%. O tamanho desses benchmarks está descrito na Tabela V. Estão em andamento trabalhos para aumentar o tamanho e o escopo desses benchmarks, a fim de nos permitir melhorar ainda mais esses modelos.


Descobrimos que nossos modelos não conseguiam responder a algumas de nossas tarefas mais difíceis. As tarefas exigiam conhecimento de muitas APIs de ferramentas e o modelo parecia incapaz de decidir quais eram as adequadas, mantendo o fluxo de controle devidamente organizado. Para mitigar isso, anexamos um contexto com curadoria humana ao prompt, específico para cada pergunta. Este contexto continha explicações sobre diferentes funções ou atributos necessários para escrever corretamente o script desejado. Fornecemos isso apenas para a categoria de benchmark “Difícil com Contexto”. Isto também nos permite estudar o possível efeito de uma solução baseada em recuperação, que deixamos para trabalhos futuros.


Como pode ser visto nos resultados da ablação na Figura 9, tanto o DAPT quanto o domínio SFT para o nosso problema foram importantes. Sem o DAPT, o modelo tinha pouco ou nenhum entendimento das APIs subjacentes e teve um desempenho insatisfatório em benchmarks avaliados automaticamente. O Domain SFT melhorou ainda mais os resultados. Acreditamos que isso ocorre porque nossos dados SFT de domínio ajudam a orientar o modelo para apresentar o script final da maneira mais diretamente aplicável.


Um resultado interessante é a taxa de aprovação do LLaMA2-70B em benchmarks “Hard with Context”. Ele tem desempenho melhor do que a maioria dos modelos na ferramenta Python, mas é ruim na ferramenta Tcl. Provavelmente, isso ocorre porque, quando fornecido com o contexto correto, a capacidade superior de codificação geral do Python do LLaMA2-70B é capaz de resolver novos problemas nos quais não foi treinado. Entretanto, o modelo LLaMA2-70B é incapaz de generalizar sua capacidade de codificação para a ferramenta Tcl, provavelmente porque não foi exposto a um grande volume de código Tcl. Isso destaca o benefício do DAPT quando se trata de linguagens de programação proprietárias ou de baixo volume.


Fig. 9: Resultados da avaliação da geração de script EDA


G. Resumo e análise de bugs


Para avaliar nossos modelos de resumo e análise de bugs, temos um conjunto de 40 bugs que são candidatos ideais para resumo. Isso inclui ter um longo histórico de comentários ou outros dados que tornam os bugs difíceis de serem resumidos rapidamente por um ser humano. Em seguida, pedimos aos humanos que avaliem ambos os modos de resumo, bem como a atribuição de bugs sugerida pelo LLM. A métrica de avaliação é baseada numa escala Likert de 7 pontos. Nossos resultados estão incluídos na Figura 10.


TABELA V: Benchmarks de avaliação de geração de script EDA


Fig. 10: Resumo de Bugs e Resultados de Avaliação de Análise


Os modelos ChipNeMo-13B-Chat superam o modelo básico LLaMA2-13B-Chat* para todas as três tarefas, melhorando a pontuação Likert de 7 pontos em 0,82, 1,09 e 0,61 para resumo técnico, resumo gerencial e recomendação de tarefa, respectivamente. O SFT de domínio também melhora significativamente o desempenho sem o SFT de domínio na sumarização gerencial e na atribuição de tarefas.


Nossa hipótese é que, ao contrário da tarefa de resumo técnico, cuja qualidade e conteúdo técnico são mais dependentes da compreensão do modelo sobre a semântica da linguagem natural, o resumo gerencial exige que o modelo entenda como resumir os dados de entrada, mantendo os principais nomes do pessoal/engenheiro. Isso precisa de um ajuste mais cuidadoso do LLM baseado em instruções.


O modelo LLaMA2-70B-Chat também funciona muito bem em todas as três tarefas, superando o modelo ChipNeMo-13B em todas as tarefas. Observe que o modelo LLaMA2-70B-Chat também sofre de desafios de contexto longo com tamanho de contexto de 4.096, acreditamos em esquemas eficazes de chunkand-combine (hierárquicos e incrementais), escolha de prompts de instrução em vários estágios de resumo, escolha de prompt durante a atribuição de tarefas, e a formatação/pré-processamento de dados brutos ajudam a contornar o desafio do longo contexto e permitem que o LLaMA2-70B-Chat alcance pontuações altas mesmo sem DAPT e SFT de domínio.



Este artigo está disponível no arxiv sob licença CC 4.0.