O artigo de dez mil caracteres explica a aplicação de grandes modelos no campo da direção autônoma

Grupo de comunicação |  Digite "Grupo de sensores/Grupo de chassi de skate/Grupo de software básico para carro/Grupo de controlador de domínio", digitalize o código QR no final do artigo , adicione Assistente Jiuzhang , certifique-se de anotar o nome do grupo de troca + real nome + empresa + cargo (sem comentários Incapaz de passar na verificação do amigo) 


62cbeceeee46d7656d07f386d6adb6f8.png

Autor | Zhang Mengyu

Com a popularidade do ChatGPT, os modelos grandes receberam cada vez mais atenção, e os recursos exibidos pelos modelos grandes são incríveis.

Em áreas como geração de imagens, sistemas de recomendação e tradução automática, modelos grandes já começaram a desempenhar um papel importante. Dadas algumas palavras rápidas, o site de geração de imagens Midjourney gerou desenhos de design que ultrapassaram o nível de muitos designers profissionais.

Por que modelos grandes podem mostrar capacidades incríveis? Por que o desempenho do modelo melhora quando o número de parâmetros e a capacidade do modelo aumentam?

Um especialista de uma empresa de algoritmos de IA disse ao autor: O aumento do número de parâmetros do modelo pode ser entendido como o aumento da dimensão do modelo, o que significa que podemos simular as leis do mundo real de uma forma mais complexa caminho. Tome o cenário mais simples como exemplo, dê um gráfico de dispersão em um gráfico plano, se usarmos uma linha reta (uma função de uma variável) para descrever a lei dos pontos de dispersão no gráfico, não importa quantos parâmetros sejam, sempre haverá algum ponto fora dessa linha. Se usarmos uma parábola (uma função binária) para descrever a lei desses pontos, haverá mais pontos que podem cair nessa linha. À medida que a dimensão da função aumenta, ou o grau de liberdade aumenta, mais e mais pontos cairão sobre esta linha, o que significa que as regras desses pontos serão ajustadas com mais precisão.

Em outras palavras, quanto maior o número de parâmetros no modelo, mais fácil é para o modelo se ajustar às leis dos dados massivos.

Com o surgimento do ChatGPT, as pessoas descobriram que quando os parâmetros do modelo atingem um determinado nível, o efeito apresentado não é apenas "melhor desempenho", mas "melhor do que o esperado".

No campo da PNL (Processamento de Linguagem Natural), existe um fenômeno excitante que a academia e a indústria não conseguem explicar pelos princípios específicos: "Habilidade Emergente".

O que é "emergência"? "Emergência" significa que quando a quantidade de parâmetro do modelo aumenta linearmente até certo ponto, a precisão do modelo aumenta exponencialmente.

Podemos ver uma imagem. O lado esquerdo da imagem abaixo mostra a lei de escala (Scaling Law), que é um fenômeno descoberto por pesquisadores da OpenAI antes de 2022. Ou seja, à medida que a escala dos parâmetros do modelo aumenta exponencialmente, a precisão de o modelo diminuirá e então aumentará linearmente. Os parâmetros do modelo à esquerda não crescem exponencialmente, mas linearmente

Em janeiro de 2022, alguns pesquisadores descobriram que quando a escala de parâmetros do modelo excede um certo nível, o grau de melhoria na precisão do modelo excede significativamente a curva proporcional, conforme mostrado à direita da figura abaixo. 

d5caad8e6ef6bd9e2c0f43f04eb69e66.png △Diagrama esquemático de "emergência"

Quando implementados no nível do aplicativo, descobriremos que modelos grandes podem realizar algumas tarefas que modelos pequenos não podem realizar, como modelos grandes que podem fazer adição e subtração e raciocínio simples.

Que tipo de modelo pode ser chamado de modelo grande?

De um modo geral, acreditamos que um modelo com mais de 100 milhões de parâmetros pode ser chamado de "big model". No campo da condução autónoma, os modelos grandes têm principalmente dois significados: um é um modelo com mais de 100 milhões de parâmetros, o outro é um modelo composto por vários modelos pequenos sobrepostos.

De acordo com essa definição, no campo da direção autônoma, os modelos grandes começaram a ser amplamente utilizados. Na nuvem, podemos aproveitar as vantagens de capacidade trazidas pelo aumento do número de parâmetros do modelo e usar grandes modelos para concluir algumas tarefas, como mineração de dados e rotulagem de dados. No lado do carro, podemos combinar vários modelos pequenos encarregados de diferentes subtarefas em um "modelo grande", o que pode economizar o tempo de raciocínio do link de computação do lado do carro e aumentar a segurança.

Especificamente, como modelos grandes podem ajudar? De acordo com as informações trocadas pelo autor com vários especialistas do setor, a indústria atualmente utiliza principalmente grandes modelos no campo da percepção. A seguir, apresentaremos como modelos grandes podem capacitar tarefas de percepção na nuvem e no lado do veículo.

1. Aplicação de modelos grandes

1.1

Aplicação de grandes modelos na nuvem

1.1.1 Rotulagem automática de dados

A rotulagem automática pode ser obtida usando o pré-treinamento de modelo grande. Tomando a anotação de clipe de vídeo como exemplo, um modelo grande pode ser pré-treinado com uma grande quantidade de dados de clipe não rotulados por meio de auto-supervisão e, em seguida, ajustado com uma pequena quantidade de dados de clipe rotulados manualmente para tornar o modelo capaz de detecção. O modelo pode rotular automaticamente os dados do clipe.

Quanto maior a precisão de rotulagem do modelo, maior o grau de substituição humana.

Atualmente, muitas empresas estão estudando como melhorar a precisão da rotulagem automática de modelos grandes, esperando realizar a rotulagem automática não tripulada completa depois que a precisão atingir o padrão.

Leo, diretor de produto do SenseTime Intelligent Driving, disse ao autor: Fizemos avaliações e, para alvos comuns na estrada, a precisão de rotulagem automática do modelo grande do SenseTime pode atingir mais de 98%.

No processo de desenvolvimento de produtos de direção inteligente, a Shangtang Jueying introduziu a pré-etiquetagem automática de modelos grandes para a maioria das tarefas de detecção. Em comparação com o passado, o ciclo de rotulagem e o custo de rotulagem podem ser reduzidos em dezenas de milhares obtendo o mesmo número de tempos de amostras de dados, melhorando significativamente a eficiência do desenvolvimento. 

De um modo geral, as expectativas de todos para as tarefas de rotulagem incluem principalmente alta eficiência no processo de rotulagem, alta precisão dos resultados da rotulagem e alta consistência. Alta eficiência e alta precisão são fáceis de entender, mas o que significa alta consistência? No algoritmo BEV para reconhecimento 3D, os engenheiros precisam usar anotação conjunta de lidar e visão e precisam processar dados de imagem e nuvem de pontos em conjunto. Neste link de processamento, os engenheiros também podem precisar fazer algumas anotações no nível de temporização, para que os resultados dos quadros anteriores e subsequentes não sejam muito diferentes.

Se a rotulagem manual for usada, o efeito de rotulagem dependerá do nível de rotulagem do rotulador. O nível desigual do rotulador pode levar a resultados de rotulagem inconsistentes. Pode haver uma caixa de etiqueta grande em uma imagem e uma menor na próxima imagem No entanto, os resultados de rotulagem de modelos grandes geralmente são consistentes.

No entanto, alguns especialistas do setor também relataram que ainda existem algumas dificuldades na implementação de rotulagem automática com modelos grandes em aplicações práticas, especialmente na conexão entre empresas autônomas e empresas de rotulagem - muitas empresas autônomas terceirizam parte do trabalho de rotulagem para empresas de rotulagem, sendo que algumas empresas não possuem equipe interna de rotulagem, sendo todo o trabalho de rotulagem terceirizado.

Atualmente, os alvos marcados pelo método de pré-marcação de modelo grande são principalmente alguns alvos 3D dinâmicos. A empresa de direção autônoma primeiro usará o modelo grande para fazer uma inferência no vídeo que precisa ser marcado e, em seguida, usará o resultado do raciocínio - o quadro 3D gerado pelo modelo Dê à empresa de rotulagem. Ao pré-rotular primeiro com um modelo grande e, em seguida, entregar os resultados pré-rotulados à empresa de rotulagem, dois problemas estarão envolvidos: um é que a plataforma de rotulagem de algumas empresas de rotulagem não suporta necessariamente o carregamento dos resultados pré-rotulados , A outra é que as empresas de rotulagem não estão necessariamente dispostas a modificar os resultados pré-rotulados.

Se a empresa de rotulagem quiser carregar os resultados pré-rotulados, ela precisa de uma plataforma de software que suporte o carregamento do quadro 3D gerado pelo modelo grande. No entanto, algumas empresas de rotulagem podem usar principalmente a rotulagem manual e não possuem uma plataforma de software que suporte o carregamento de resultados pré-etiquetados do modelo. .

Além disso, do ponto de vista da empresa de rotulagem, somente quando o efeito da pré-rotulagem é bom o suficiente, eles podem realmente "economizar esforços", caso contrário, pode aumentar a carga de trabalho.

Se o efeito da pré-etiquetagem não for bom o suficiente, a empresa de rotulagem ainda precisará fazer muito trabalho no futuro, como marcar as caixas que faltam, excluir caixas rotuladas incorretamente e unificar o tamanho das caixas. Então, adotar a pré-rotulagem pode realmente não ajudá-los a reduzir sua carga de trabalho.

Portanto, em aplicações práticas, o uso de um modelo grande para pré-etiquetagem precisa ser ponderado pela empresa de direção autônoma e pela empresa de rotulagem.

Claro, o custo da rotulagem manual é relativamente alto no momento - se a empresa de rotulagem começasse do zero, o custo da rotulagem manual para 1.000 quadros de dados de vídeo pode chegar a 10.000 yuans. Portanto, as empresas de direção autônoma ainda esperam melhorar a precisão da pré-rotulagem de modelos grandes tanto quanto possível e reduzir a carga de trabalho da rotulagem manual tanto quanto possível, reduzindo assim o custo da rotulagem.

1.1.2 Mineração de Dados

Modelos grandes têm forte generalização e são adequados para mineração de dados de cauda longa.

Um especialista da WeRide disse ao autor: Se o método tradicional baseado em rótulos for usado para explorar cenas de cauda longa, o modelo geralmente só pode distinguir categorias de imagens conhecidas. Em 2021, a OpenAI lançou o modelo CLIP (um modelo multimodal texto-imagem, que pode corresponder a texto e imagens após pré-treinamento não supervisionado, de modo a classificar as imagens com base no texto, em vez de depender apenas dos rótulos das imagens. ), também podemos usar esse modelo multimodal de imagem de texto para recuperar dados de imagem no log da unidade com descrições de texto. Por exemplo, cenas de cauda longa como 'veículos de construção arrastando mercadorias', 'semáforos com duas lâmpadas acesas ao mesmo tempo', etc.

Além disso, modelos grandes podem extrair melhor os recursos dos dados e localizar objetos com recursos semelhantes.

Suponha que queremos encontrar fotos contendo trabalhadores de saneamento de muitas fotos. Não precisamos rotular as fotos primeiro. Podemos usar um grande número de fotos contendo trabalhadores de saneamento para pré-treinar o modelo grande, e o modelo grande pode extrair alguns trabalhadores de saneamento deles. Em seguida, encontre amostras que correspondam às características dos trabalhadores do saneamento nas fotos, para extrair quase todas as fotos que contenham trabalhadores do saneamento.

1.1.3 "Ensinando" Pequenos Modelos por Destilação de Conhecimento

O modelo grande também pode "ensinar" o modelo pequeno por meio da destilação do conhecimento.

O que é a destilação do conhecimento? Para explicar nas palavras mais comuns, o modelo grande primeiro aprende algum conhecimento dos dados ou extrai algumas informações e, em seguida, usa o conhecimento aprendido para "ensinar" o modelo pequeno.

Na prática, podemos primeiro aprender as imagens que precisam ser rotuladas para o modelo grande, e o modelo grande pode rotular essas imagens. Dessa forma, rotulamos as imagens e usamos essas imagens para treinar o modelo pequeno, ou seja, One das formas mais simples de destilação do conhecimento.

Claro, também podemos usar métodos mais complexos, como usar modelos grandes para extrair recursos de dados massivos, e esses recursos extraídos podem ser usados ​​para treinar modelos pequenos. Em outras palavras, também podemos tornar o projeto mais complicado e adicionar um modelo médio entre o modelo grande e o modelo pequeno. Os recursos extraídos pelo modelo grande são primeiro treinados no modelo médio e, em seguida, o modelo médio treinado é usado para extrair recursos e entregue ao modelo pequeno. Os engenheiros podem escolher o método de projeto de acordo com suas próprias necessidades.

O autor aprendeu com o Pony.ai que pequenos modelos, como a atenção do pedestre e o reconhecimento da intenção do pedestre, podem ser obtidos por destilação e ajuste fino com base nos recursos extraídos do modelo grande. Além disso, como um modelo grande é compartilhado no estágio de extração de recursos, o quantidade de cálculo pode ser reduzida.

1.1.4 O limite superior de desempenho do modelo de carro de teste

O modelo grande também pode ser usado para testar o limite de desempenho do modelo da extremidade do carro. Quando algumas empresas consideram qual modelo implantar no lado do veículo, elas primeiro testam vários modelos candidatos na nuvem para ver qual modelo tem o melhor efeito e o melhor desempenho após aumentar o número de parâmetros.

Em seguida, o modelo com o melhor efeito é usado como modelo básico e, em seguida, o modelo básico é cortado e otimizado e implantado na extremidade do veículo.

1.1.5 Reconstrução e geração de dados de cenários de direção autônoma

Momo Zhixing mencionou no AI DAY em janeiro de 2023: "Usando a tecnologia NeRF, podemos armazenar implicitamente a cena na rede neural e, em seguida, aprender os parâmetros implícitos da cena por meio do aprendizado supervisionado de imagens renderizadas e, em seguida, a reconstrução do autônomo cena de condução pode ser realizada.”

Por exemplo, podemos inserir imagens, poses correspondentes e nuvens de pontos de cena densamente coloridas na rede e rasterizar as nuvens de pontos coloridos em diferentes resoluções com base na pose da imagem de entrada com base na rede de grade de pontos. Gerar descritores neurais em vários escalas e, em seguida, fundir recursos em diferentes escalas por meio da rede.

Em seguida, insira o descritor de nuvem de pontos denso gerado, posição, parâmetros de câmera correspondentes e parâmetros de exposição de imagem na rede subsequente para mapeamento de tom de ajuste fino e, em seguida, sintetize uma imagem com cor e exposição consistentes.

Desta forma, podemos realizar a reconstrução da cena. Em seguida, podemos gerar vários dados altamente realistas alterando o ângulo de visão, alterando a iluminação e alterando a textura e o material. Por exemplo, alterando o ângulo de visão, podemos simular vários comportamentos principais do veículo, como mudança de faixa, desvios, inversões de marcha e até mesmo simular algumas colisões iminentes. dados de cena de alto risco.

1.2

Aplicação de modelo grande em veículo

1.2.1 Combinando pequenos modelos para detectar diferentes tarefas

A principal forma de usar grandes modelos do lado do veículo é combinar pequenos modelos que lidam com diferentes subtarefas para formar um "grande modelo" e, então, fazer um raciocínio conjunto. O "grande modelo" aqui não é um grande número de parâmetros no sentido tradicional - por exemplo, um grande modelo com mais de 100 milhões de parâmetros. Claro, o modelo combinado será muito maior do que o pequeno modelo que lida com diferentes subtarefas .

No modelo tradicional de percepção do lado do carro, os modelos que lidam com diferentes subtarefas são raciocinados de forma independente. Por exemplo, um modelo é responsável pela tarefa de detecção de linha de faixa e um modelo é responsável pela tarefa de detecção de semáforo. À medida que as tarefas de percepção aumentam, os engenheiros aumentarão correspondentemente a percepção de modelos alvo específicos no sistema.

O sistema de direção automática anterior tem menos funções e as tarefas de percepção são relativamente fáceis. No entanto, com a atualização das funções do sistema de direção automática, há cada vez mais tarefas de percepção. O atraso do sistema será muito grande e haverá ser riscos de segurança.

Na estrutura de percepção multitarefa BEV da Juefei Technology, os pequenos modelos de percepção de tarefa única de diferentes alvos são combinados para formar uma informação estática que pode gerar informações estáticas ao mesmo tempo - incluindo linhas de pista, setas de chão, passadeiras em cruzamentos , linhas de parada, etc., e informações dinâmicas—incluindo a localização, tamanho, orientação, etc. dos participantes do trânsito. A estrutura do algoritmo de percepção multitarefa BEV da Juefei Technology é mostrada na figura abaixo:

a55795590cd6cdc194408fae04c292e1.png △Diagrama esquemático da estrutura de algoritmo de percepção multitarefa BEV da Juefei Technology

O modelo de percepção multitarefa realiza a fusão temporal de recursos—armazena os recursos BEV em momentos históricos na fila de recursos. Faça alinhamento espaço-tempo (incluindo rotação e translação de recursos) e, em seguida, una os recursos BEV históricos alinhados com o BEV atual características.

Em cenários de direção autônoma, a fusão de tempo pode melhorar a precisão dos algoritmos de percepção e compensar as limitações da percepção de quadro único até certo ponto. Considere a subtarefa de detecção de alvo 3D mostrada na figura como exemplo. Com a fusão de tempo, o modelo de percepção pode detectar alguns alvos que não podem ser detectados pelo modelo de percepção de quadro único (como o alvo que está ocluído no momento atual), e também pode julgar o alvo com mais precisão. A velocidade do movimento e a previsão de trajetória das tarefas auxiliares a jusante.

Dr. Qi Yuhan, chefe da tecnologia de percepção BEV da Juefei Technology, disse ao autor: Com essa arquitetura de modelo, quando as tarefas de percepção se tornam cada vez mais complexas, a estrutura de percepção conjunta multitarefa pode garantir percepção e saída em tempo real resultados de percepção cada vez mais precisos são fornecidos para uso a jusante do sistema de direção autônoma.

No entanto, a fusão de pequenos modelos multitarefa também traz alguns problemas. Do nível do algoritmo, o desempenho do modelo mesclado em diferentes subtarefas pode ter um fenômeno de "reversão", ou seja, o desempenho da detecção do modelo é inferior ao de um modelo independente de tarefa única. Embora a estrutura de rede do modelo grande mesclado por diferentes modelos pequenos ainda possa ser muito delicada, o modelo mesclado precisa resolver o problema do treinamento conjunto multitarefa.

No treinamento conjunto multitarefa, cada subtarefa pode não ser capaz de alcançar convergência simultânea e síncrona, e cada tarefa será afetada por "transferência negativa" e o modelo combinado terá uma "regressão" de precisão em algumas tarefas específicas . ". A equipe de algoritmos precisa otimizar ao máximo a estrutura do modelo combinado, ajustar a estratégia de treinamento conjunto e reduzir o impacto do fenômeno de "transferência negativa".

1.2.2 Detecção de Objetos

Um especialista da indústria disse ao autor: Alguns objetos com valores verdadeiros relativamente fixos são adequados para detecção com modelos grandes.

Então, o que é um objeto com um valor de verdade relativamente fixo?

Os chamados objetos com valor real fixo são objetos cujo valor real não será afetado por fatores como clima e tempo, como linhas de pista, pilares, postes de iluminação, semáforos, passadeiras, filas de estacionamento em porões, vagas de estacionamento, etc. . Esses objetos existem com Não, a localização é fixa onde quer que esteja, e não mudará devido a fatores como chuva ou escuridão. Desde que o veículo passe pela área correspondente, sua localização é fixa. Esses objetos são adequados para detecção com modelos grandes.

1.2.3 Previsão da Topologia da Pista

Uma empresa autônoma mencionada no AI DAY da empresa: "Com base no mapa de recursos do BEV, usamos o mapa padrão como informações de guia e usamos a rede de codec autorregressivo para decodificar os recursos do BEV em uma sequência de pontos topológicos estruturados. , para alcançar a previsão da topologia da pista.”

2. Como aproveitar modelos grandes

Sob a tendência de código aberto na indústria, a estrutura do modelo básico não é segredo. Em muitos casos, são as capacidades de engenharia que determinam se uma empresa pode fabricar um bom produto.

A capacidade de engenharia determina se podemos verificar rapidamente a viabilidade dessa ideia quando pensamos em alguns métodos que podem ser eficazes na melhoria das capacidades do sistema. O que a Tesla e a Open AI têm em comum é que ambas as empresas possuem fortes capacidades de engenharia. Elas podem testar a confiabilidade de uma ideia o mais rápido possível e, em seguida, aplicar dados em grande escala ao modelo selecionado.

Para aproveitar ao máximo as capacidades de grandes modelos na prática, as capacidades de engenharia da empresa são muito importantes. A seguir, explicaremos que tipo de recursos de engenharia são necessários para fazer bom uso de grandes modelos de acordo com o processo de desenvolvimento de modelos.

2.1

Atualizar armazenamento de dados, sistema de transferência de arquivos

Os parâmetros de um modelo grande são grandes e, correspondentemente, a quantidade de dados usada para treinar um modelo grande também é grande. Por exemplo, a equipe de algoritmos da Tesla usou cerca de 1,4 bilhão de imagens para treinar a rede de ocupação 3D sobre a qual a equipe falou no dia de IA do ano passado.

Na verdade, o valor inicial do número de imagens provavelmente será dezenas ou centenas de vezes o número real usado, porque precisamos filtrar os dados valiosos para o treinamento do modelo a partir de dados massivos. Portanto, como as imagens usadas para o treinamento do modelo são 1,4 bilhão, o número de fotos originais deve ser muito maior que 1,4 bilhão.

Então, como armazenar dezenas de bilhões ou mesmo centenas de bilhões de dados de imagem? Este é um grande desafio tanto para o sistema de leitura de arquivos quanto para o sistema de armazenamento de dados. Em particular, os dados atuais de direção autônoma estão na forma de clipes e o número de arquivos é grande, portanto, a eficiência do armazenamento aleatório de pequenos arquivos é muito alta.

A fim de lidar com esses desafios, algumas empresas do setor usam armazenamento fatiado para dados e, em seguida, adotam uma arquitetura distribuída para oferecer suporte a acesso multiusuário e multiconcorrente. O atraso pode ser tão baixo quanto 2 milissegundos. O chamado multiusuário significa que muitos usuários acessam um arquivo de dados ao mesmo tempo; multiconcorrência significa que um arquivo de dados precisa ser acessado em vários threads. Por exemplo, quando um engenheiro usa multithreading ao treinar um modelo , cada thread Um arquivo de dados é necessário.

2.2

Encontre com eficiência a arquitetura de rede certa

Com big data, como garantir que o modelo abstraia melhor as informações dos dados? Isso requer que o modelo tenha uma arquitetura de rede adequada para a tarefa correspondente, de modo a aproveitar ao máximo o grande número de parâmetros do modelo, para que o modelo tenha uma forte capacidade de extrair informações.

Lucas, o gerente sênior de pesquisa e desenvolvimento de modelos de grande escala da SenseTime, disse ao autor: Temos um sistema de design de modelo supergrande semiautomático de nível industrial padronizado. Com base nesse sistema, podemos usar um conjunto de redes neurais sistemas de pesquisa como base ao projetar a arquitetura de rede de modelos supergrandes. , para encontrar a arquitetura de rede mais adequada para aprender dados em grande escala.

Ao projetar um modelo pequeno, contamos principalmente com design manual, ajuste e iteração para finalmente obter um modelo com resultados satisfatórios. Embora esse modelo possa não ser o ideal, ele pode basicamente atender aos requisitos após a iteração.

Diante de modelos grandes, uma vez que a estrutura de rede de modelos grandes é muito complexa, se forem usados ​​design manual, ajuste e iteração, o consumo de poder de computação será grande e o custo será correspondentemente alto. Então, como projetar de forma rápida e eficiente uma arquitetura de rede com efeito bom o suficiente para treinamento com recursos limitados é um problema que precisa ser resolvido.

Lucas explicou: Temos um conjunto de bibliotecas de operadores e a estrutura de rede do modelo pode ser considerada como um conjunto de permutações e combinações de operadores. Este sistema de pesquisa de nível industrial pode calcular como organizar e combinar operadores sob a premissa de definir parâmetros básicos, incluindo quantas camadas de redes e quantos parâmetros, de modo a obter melhores efeitos de modelo.

O efeito do modelo pode ser avaliado de acordo com alguns indicadores, incluindo a precisão da previsão de alguns conjuntos de dados, o uso de memória do modelo durante a execução e o tempo de execução do modelo. Ao atribuir pesos correspondentes a esses indicadores, podemos iterar continuamente até encontrar um modelo satisfatório. Obviamente, no processo de pesquisa, primeiro usaremos algumas pequenas cenas para avaliar inicialmente o efeito do modelo.

Ao avaliar o efeito do modelo, como escolher algumas cenas mais representativas?

De um modo geral, alguns cenários comuns podem ser selecionados. O principal objetivo de projetar a arquitetura de rede é garantir que o modelo tenha a capacidade de extrair informações importantes de uma grande quantidade de dados, em vez de esperar que o modelo possa aprender as características de determinados cenários específicos de maneira direcionada. a arquitetura do modelo é determinada, o modelo será usado Para concluir algumas tarefas de mineração de cenários de cauda longa, mas ao selecionar uma arquitetura de modelo, cenários gerais serão usados ​​para avaliar os recursos do modelo.

Com um sistema de pesquisa de rede neural de alta eficiência e alta precisão, a eficiência e a precisão do cálculo são altas o suficiente, o efeito do modelo pode ser convergido rapidamente e uma arquitetura de rede com bom efeito pode ser encontrada rapidamente em um espaço enorme.

2.3

Melhore a eficiência do treinamento do modelo

Depois que o trabalho básico anterior é feito, chegamos à sessão de treinamento. Existem muitos lugares dignos de otimização na sessão de treinamento.

2.3.1 Operador de otimização

A rede neural pode ser entendida como uma combinação de muitos operadores básicos, o cálculo dos operadores consome recursos de computação por um lado e memória por outro. Se o operador puder ser otimizado para melhorar a eficiência de cálculo do operador, a eficiência do treinamento poderá ser melhorada.

No momento, já existem algumas estruturas de treinamento de IA no mercado - como PyTorch, TensorFlow etc. Essas estruturas de treinamento podem fornecer operadores básicos para engenheiros de aprendizado de máquina chamarem para construir seus próprios modelos. Algumas empresas criarão sua própria estrutura de treinamento e otimizarão os operadores subjacentes para melhorar a eficiência do treinamento.

Como o PyTorch e o TensorFlow precisam garantir a versatilidade tanto quanto possível, os operadores fornecidos geralmente são muito básicos. As empresas podem integrar operadores básicos de acordo com suas próprias necessidades, economizando as etapas de armazenamento de resultados intermediários, economizando o uso de memória de vídeo e evitando perda de desempenho.

Além disso, para resolver o problema de alguns operadores específicos não conseguirem fazer bom uso do paralelismo da GPU devido à sua alta dependência de resultados intermediários durante o cálculo, algumas empresas do setor construíram suas próprias bibliotecas de aceleração para reduzir a dependência desses operadores em resultados intermediários. , para que o processo de cálculo possa aproveitar ao máximo as vantagens de computação paralela da GPU e melhorar a velocidade de treinamento.

Por exemplo, nos quatro modelos Transformer convencionais, o LightSeq da ByteDance alcançou uma aceleração de até 8 vezes com base no PyTorch.

2.3.2 Faça bom uso de estratégias paralelas

A computação paralela é um método de "trocar espaço por tempo", ou seja, paralelizar os dados sem dependências de cálculo o máximo possível, dividir grandes lotes em pequenos lotes, reduzir o tempo de espera ocioso da GPU em cada etapa de cálculo e melhorar o cálculo quantidade de passagem.

Atualmente, muitas empresas adotaram a estrutura de treinamento do PyTorch, que possui o modo DDP - como um modo de treinamento paralelo de dados distribuídos, o modo DDP projetou um mecanismo de distribuição de dados para oferecer suporte ao treinamento de vários cartões de várias máquinas, como um A empresa possui 8 servidores, e cada servidor possui 8 cartões, então podemos usar 64 cartões para treinamento ao mesmo tempo.

Sem esse modo, os engenheiros só podem usar uma única máquina com vários cartões para treinar o modelo. Suponha que agora usemos 100.000 imagens para treinar o modelo.No modo multicartão de máquina única, o tempo de treinamento excederá uma semana. Se quisermos usar os resultados do treinamento para avaliar uma determinada conjectura ou selecionar o melhor entre vários modelos candidatos, esse tempo de treinamento torna muito longo o período de espera para verificar rapidamente a conjectura e verificar rapidamente o efeito do modelo. Então a eficiência de pesquisa e desenvolvimento é muito baixa.

Com o treinamento paralelo multi-máquina e multi-cartão, a maioria dos resultados experimentais pode ser vista dentro de 2-3 dias. Desta forma, o processo de verificação do efeito do modelo é muito mais rápido.

Em termos de métodos paralelos específicos, o paralelismo de modelo e o paralelismo de sequência podem ser usados ​​principalmente.

O paralelismo de modelo pode ser dividido em paralelismo de pipeline e paralelismo de tensor, conforme mostrado na figura abaixo.

6fe9492f10fc36607f489c72e117a3b9.png △Diagrama esquemático paralelo de pipeline e tensor paralelo, a imagem é da NVIDIA

O paralelismo de pipeline é o paralelismo entre camadas (a parte superior da figura). Os engenheiros podem se lembrar de dividir diferentes camadas do modelo em diferentes GPUs para cálculo durante o processo de treinamento. Por exemplo, conforme mostrado na parte superior da figura, as camadas da parte verde e da parte azul podem ser calculadas em diferentes GPUs.

O paralelismo tensor é o paralelismo intra-camada (a parte inferior da figura), os engenheiros podem dividir o cálculo de uma camada para diferentes GPUs. Este modo é adequado para o cálculo de grandes matrizes, pois pode atingir o balanceamento de carga entre as GPUs, mas o número de comunicações e a quantidade de dados são relativamente grandes.

Além do paralelismo de modelo, há também o paralelismo de sequência. Como o paralelismo de tensor não divide a norma de camada e o dropout, esses dois operadores serão calculados repetidamente entre cada GPU. Embora a quantidade de cálculo não seja grande, é necessário um muita memória de vídeo ativa.

Para resolver este problema, no processo atual, podemos aproveitar o fato de que Layer-norm e Dropout são independentes entre si ao longo da dimensão da sequência (ou seja, Layer_norm e Dropout entre camadas diferentes não afetam um ao outro Para Layer-Norm e Dropout são divididos, conforme mostrado na figura abaixo. A vantagem dessa divisão é que ela não aumentará o tráfego e pode reduzir bastante o uso de memória.

a4ea6621afcea577f982b11d7c43825a.png △Diagrama esquemático paralelo de sequência, a imagem é da NVIDIA

Na prática, diferentes modelos são adequados para diferentes estratégias paralelas. Os engenheiros precisam encontrar uma estratégia paralela adequada após depuração contínua de acordo com as características do modelo, as características do hardware usado e o processo de cálculo intermediário.

2.3.3 Faça bom uso da "esparsidade"

Ao treinar o modelo, também é necessário fazer bom uso da esparsidade, ou seja, nem todo neurônio deve ser "ativado" - ou seja, ao adicionar dados de treinamento, nem todos os parâmetros do modelo devem ser atualizados de acordo com os dados recém-adicionados, mas alguns parâmetros do modelo permanecem inalterados e alguns parâmetros do modelo são atualizados com dados adicionados recentemente.

Um bom processamento esparso pode garantir a eficiência do treinamento do modelo, mantendo a precisão.

Por exemplo, em uma tarefa de percepção, quando novas imagens chegam, você pode selecionar os parâmetros que precisam ser atualizados com base nessas imagens, de modo a realizar a extração de recursos de maneira direcionada.

2.3.4 Processamento unificado de informações básicas

Em geral, mais de um modelo é usado dentro da empresa e esses modelos podem usar os mesmos dados, por exemplo, a maioria dos modelos usa dados de vídeo. Se cada modelo carregar e processar os dados de vídeo, haverá muitos cálculos repetidos. Podemos processar informações em várias modalidades, como vídeo, nuvem de pontos, mapa e sinal CAN, que são exigidos pela maioria dos modelos, para que diferentes modelos possam reutilizar os resultados do processamento.

2.3.5 Otimizar configuração de hardware

Ao usar treinamento distribuído de fato, podem ser usadas 1.000 máquinas.Como obter os resultados intermediários no processo de treinamento de diferentes servidores que armazenam dados - como gradientes, e depois fazer um treinamento distribuído em larga escala é um grande desafio.

Para enfrentar esse desafio, primeiro precisamos considerar como configurar a CPU, GPU etc., como escolher a placa de rede e a velocidade da placa de rede, para que a transmissão entre as máquinas seja rápida.

Em segundo lugar, é necessário sincronizar os parâmetros e salvar os resultados intermediários, mas quando a escala for grande, esse assunto se tornará muito difícil, o que envolverá algum trabalho de comunicação de rede.

Além disso, todo o processo de treinamento leva muito tempo, então a estabilidade do cluster precisa ser alta.

3. Faz sentido continuar a aumentar os parâmetros do modelo?

Agora que o modelo grande conseguiu desempenhar algum papel no campo da direção autônoma, se continuarmos a aumentar os parâmetros do modelo, podemos esperar que o modelo grande mostre alguns efeitos surpreendentes?

De acordo com os resultados da comunicação do autor com especialistas em algoritmos no campo da direção autônoma, a resposta atual provavelmente é não, porque o fenômeno de "emergência" mencionado acima ainda não apareceu no campo do CV (visão computacional). Atualmente, a quantidade de parâmetros do modelo que todos usam no campo da direção autônoma é muito menor que a do ChatGPT. Porque quando não há efeito de "emergência", a relação entre a melhoria do desempenho do modelo e o aumento do número de parâmetros é aproximadamente linear Considerando as restrições de custo, as empresas ainda não maximizaram o número de parâmetros do modelo.

Por que ainda não houve um fenômeno de "emergência" na visão computacional? Um especialista explicou:

Em primeiro lugar, embora haja muito mais dados visuais do que dados de texto neste mundo, os dados da imagem são escassos, ou seja, a maioria das fotos pode não ter muita informação efetiva e a maioria dos pixels em cada imagem não fornece informações efetivas. Se tirarmos uma selfie, exceto o rosto no meio, a área de fundo não possui informações válidas.

Em segundo lugar, os dados da imagem sofrem significativa variação de escala e são completamente desestruturados. Mudança de escala significa que objetos contendo a mesma semântica podem ser grandes ou pequenos na imagem correspondente. Por exemplo, tirei uma selfie e pedi a um amigo que estava mais longe para tirar uma foto para mim.Nas duas fotos, a proporção do rosto na foto era muito diferente. Não estruturado significa que a relação entre cada pixel é incerta.

Mas no campo do processamento de linguagem natural, como a linguagem é uma ferramenta de comunicação entre as pessoas, o contexto geralmente é relacionado e a densidade de informações de cada frase geralmente é grande e não há problema de mudança de escala. Por exemplo, em In qualquer idioma, a palavra "maçã" geralmente não é muito longa.

Portanto, a compreensão dos próprios dados visuais será mais difícil do que a linguagem natural.

Um especialista da indústria disse ao autor: Embora possamos esperar que o desempenho do modelo aumente à medida que o número de parâmetros aumenta, atualmente é menos econômico continuar a aumentar o número de parâmetros.

Por exemplo, se expandirmos a capacidade do modelo em dez vezes na base existente, sua taxa de erro relativa pode ser reduzida em 90%. Neste momento, o modelo já pode concluir algumas tarefas de visão computacional, como reconhecimento facial. Se neste momento continuarmos a expandir a capacidade do modelo em dez vezes, e a taxa de erro relativa continuar caindo em 90%, mas o valor que pode realizar não aumentar em dez vezes, então não precisamos continuar a expandir a capacidade do modelo.

Expandir a capacidade do modelo aumentará o custo, porque um modelo maior requer mais dados de treinamento e mais poder de computação. Quando a precisão do modelo atinge a faixa aceitável, precisamos fazer um trade-off entre o aumento do custo e o aumento da precisão e reduzir o custo o máximo possível sob a condição de precisão aceitável de acordo com as necessidades reais.

Embora ainda existam algumas tarefas que precisamos melhorar a precisão, o modelo grande é principalmente para substituir algum trabalho manual na nuvem, como rotulagem automática, mineração de dados, etc. pode ser feito por humanos. Se o custo for muito alto, as contas econômicas ficarão "sobrecarregadas".

No entanto, alguns especialistas do setor disseram ao autor: Embora o ponto de mudança qualitativa ainda não tenha sido alcançado, à medida que os parâmetros do modelo aumentam e a quantidade de dados aumenta, podemos realmente observar que a precisão do modelo tem melhorado. A melhoria da precisão do modelo pode retroalimentar a rotulagem automática. A precisão do modelo usado para tarefas de rotulagem é alta o suficiente e o trabalho de rotulagem pode reduzir muita mão de obra. Embora o custo de treinamento aumente conforme o tamanho do modelo aumenta, o custo atual e o número de parâmetros do modelo são basicamente lineares. A redução na mão de obra pode compensar o aumento nos custos de treinamento, portanto, em geral, aumentar o número de parâmetros ainda é benéfico.

Além disso, quando o número de parâmetros do modelo aumentar, também adotaremos alguns métodos para melhorar a eficiência do treinamento e reduzir ao máximo os custos de treinamento. Sob a escala do modelo existente, podemos basicamente aumentar o número de parâmetros do modelo e melhorar a precisão do modelo, mantendo o custo basicamente inalterado. Equivale a fazer com que o custo do modelo não aumente linearmente com o aumento dos parâmetros do modelo, podendo-se conseguir quase nenhum ou apenas um pequeno aumento no custo.

4. Outras possíveis aplicações de modelos grandes

Além das aplicações mencionadas acima, como podemos descobrir o valor de modelos grandes?

4.1

no campo da percepção

CMU Research Scientist Max disse ao autor: para usar modelos grandes para realizar tarefas de percepção, o núcleo não é empilhar parâmetros, mas criar uma estrutura que pode ser 'loop interno'. Se todo o modelo não puder alcançar loops internos ou não conseguir treinamento online contínuo, será difícil obter bons resultados.

Então, como realizar o "loop interno" do modelo? Podemos referir-nos ao quadro de formação do ChatGPT, conforme ilustrado na figura abaixo.

168f816f164bd4771bc4a977b5cf969f.png

Estrutura de treinamento △ChatGPT, a foto é tirada do site oficial do Open AI

A estrutura do modelo do ChatGPT pode ser dividida em três etapas: a primeira etapa é o aprendizado supervisionado, os engenheiros primeiro coletam e rotulam uma parte dos dados e, em seguida, usam essa parte dos dados para treinar o modelo; a segunda etapa é projetar uma recompensa modelo (Modelo de Recompensa), o modelo Você pode produzir alguns resultados de rotulagem sozinho; na terceira etapa, podemos realizar o aprendizado auto-supervisionado por meio de um caminho semelhante ao aprendizado por reforço, que é chamado de "brincar consigo mesmo" em linguagem mais popular, ou "loop interno" .

Assim que a terceira etapa for alcançada, o modelo não precisa mais de engenheiros para adicionar dados marcados, mas pode calcular a perda por si mesmo após obter os dados não rotulados e, em seguida, atualizar os parâmetros, para que o ciclo continue e, finalmente, o treinamento seja concluído.

"Se pudermos projetar uma política de recompensa adequada ao realizar tarefas de percepção, de modo que o treinamento do modelo não dependa mais de dados rotulados, pode-se dizer que o modelo realizou um 'loop interno' e pode atualizar continuamente os parâmetros com base em dados não rotulados."

4.2

na área de planejamento

Em campos como Go, é mais fácil julgar se cada passo é bom ou ruim, porque nosso objetivo geralmente inclui apenas vencer o jogo no final.

No entanto, no campo do planejamento de direção autônoma, o sistema de avaliação humana para o comportamento exibido pelo sistema de direção autônoma não é claro. Além de garantir a segurança, cada um sente o conforto de maneira diferente, e também podemos querer chegar ao nosso destino o mais rápido possível.

Na cena do bate-papo, se o feedback dado pelo robô é "bom" ou "ruim" a cada vez, não há um sistema de avaliação muito claro como o Go. A condução personalizada é semelhante a esta, todos têm critérios diferentes para "bom" e "ruim" e também podem ter necessidades difíceis de articular.

Na segunda etapa da estrutura de treinamento do ChatGPT, o anotador classifica os resultados gerados pelo modelo e, em seguida, usa os resultados classificados para treinar o Modelo de Recompensa. No início, este Modelo de Recompensa não é perfeito, mas podemos fazer com que este Modelo de Recompensa continue a aproximar-se do efeito que queremos através da formação contínua.

Um especialista de uma empresa de inteligência artificial disse ao autor: No campo do planejamento de direção autônoma, podemos coletar continuamente dados sobre a direção do carro e, em seguida, informar ao modelo quando as pessoas assumirão o controle (ou seja, as pessoas se sentirão perigosas) e em que situações Se você puder dirigir normalmente, o Modelo de Recompensa ficará cada vez mais próximo da perfeição à medida que a quantidade de dados aumentar.

Ou seja, podemos considerar desistir explicitamente de escrever um Modelo de Recompensa perfeito, mas dando continuamente feedback ao modelo para obter uma solução que está constantemente se aproximando da perfeição.

Em comparação com a prática comum atual no campo do planejamento, ou seja, tentar encontrar explicitamente a solução ótima escrevendo regras manualmente, primeiro adotando um modelo de recompensa inicial e depois otimizando-o continuamente de acordo com os dados é uma mudança de paradigma.

Depois de adotar esse método, o módulo de planejamento de otimização pode adotar um processo relativamente padrão. Tudo o que precisamos fazer é coletar dados continuamente e depois treinar o Modelo de Recompensa, que não depende mais da compreensão de um engenheiro de todo o módulo de planejamento como o método tradicional profundidade.

Além disso, todos os dados históricos podem ser usados ​​para treinamento. Não precisamos nos preocupar com alguns problemas que foram resolvidos antes de reaparecer após uma determinada regra ser alterada. Se o método tradicional for adotado, podemos ficar incomodados com esse tipo de problema.

FIM


7d27ad71dfbcfb858291a749a4f472a8.png

Grupo de comunicação |   Digite "Grupo de sensores/Grupo de chassi de skate/Grupo de software básico para carro/Grupo de controlador de domínio", escaneie o código QR acima, adicione Assistente Jiuzhang , certifique-se de anotar o nome do grupo de comunicação + nome real + empresa + cargo (sem comentários Incapaz de passar na verificação de amigo) 

escreva no final

comunicar com o autor

Se você deseja se comunicar diretamente com o autor do artigo, pode digitalizar diretamente o código QR à direita e adicionar o próprio WeChat do autor.

   7b8766a2ca14728cc08ca5e9bc035b13.png

Nota: Certifique-se de anotar seu nome real, empresa e cargo atual ao adicionar o WeChat, obrigado!

Sobre Contribuição

Se você estiver interessado em contribuir para "Nove capítulos de direção inteligente" (artigos do tipo "acumulação e classificação de conhecimento"), escaneie o código QR à direita e adicione o WeChat da equipe.

64e5fb816bd0f46bb38b938165deb258.jpeg

Nota: Certifique-se de anotar seu nome real, empresa e cargo atual ao adicionar o WeChat, obrigado!


Requisitos de qualidade para manuscritos de "acumulação de conhecimento":

R: A densidade de informações é maior do que a maioria dos relatórios da maioria das corretoras, e não inferior ao nível médio de "Nine Chapters Smart Driving";

B: A informação precisa ser muito escassa, e mais de 80% da informação precisa ser invisível em outras mídias.Se for baseada em informação pública, precisa ter um ponto de vista particularmente poderoso e exclusivo. Obrigado pela sua compreensão e apoio.

Leitura recomendada:

Nove capítulos - uma coleção de artigos em 2022

"Mesmo que o salário não possa ser pago um dia, algumas pessoas vão ficar." ——Revisão do segundo aniversário do negócio de Jiuzhang Zhijia (Parte 1)

"Seu orçamento é muito alto, então não podemos cooperar" - Revisão do 2º Aniversário de Jiuzhang Zhijia (Parte 2)

Qual é a arquitetura elétrica e eletrônica abrangente baseada em SOA?

Aplicação do algoritmo de aprendizado profundo na regulação e controle de direção automática

Desafios e início da mudança do controle de arame para produção em massa e uso comercial

"Seja ganancioso quando os outros estão com medo", este fundo aumentará o investimento no "Inverno de Condução Automática"

Acho que você gosta

Origin blog.csdn.net/jiuzhang_0402/article/details/130939716
Recomendado
Clasificación