Aprendizagem pessoal com IA
e orientação prática

4 etapas para o ajuste fino do LLM: um guia prático para criar grandes modelos de domínio com o SiliconCloud

Anteriormente, o SiliconCloud ficou on-line com o modelo de linguagem doFunção de ajuste fino do LoRA on-line. Basta fazer o upload dos dados do corpus e criar uma tarefa de ajuste fino para obter um modelo de linguagem proprietário com ajuste fino.

Recentemente, o ajuste fino do LoRA on-line LLM do SiliconCloud foi ampliado com os modelos Qwen2.5-32B, Qwen2.5-14B e Llama-3.1-8B como modelos básicos de ajuste fino, o que enriquece ainda mais a jogabilidade do ajuste fino e reduz ainda mais o custo de treinamento e uso dos modelos de ajuste fino.


 

De fato, o ajuste fino de um modelo proprietário de linguagem grande é bastante simples. Usando o recurso de ajuste fino do SiliconCloud, você pode preparar apenas algumas dezenas de corpora de treinamento para fazer alterações "significativas" em seu modelo a partir do modelo básico.

 

preparação preliminar

Em primeiro lugar, precisamos ter clareza sobre o que o ajuste fino está tentando alcançar. Muitas vezes, o ajuste fino pode ajudar um modelo a aprender algo que não foi incluído no treinamento ou a desenvolver um determinado estilo linguístico distinto.

Para diferentes propósitos, nossa abordagem será diferente. Por exemplo, se você quiser que o modelo aprenda determinado conhecimento de domínio, precisará de dados de treinamento que contenham perguntas e respostas com base nesses dados, enquanto se quiser que o modelo aprenda um determinado estilo de linguagem típico, precisará de dados de diálogo com esse estilo.

 

Preparação de dados

O ajuste fino do modelo LLM exige que os dados sejam fornecidos na forma de um diálogo, com uma estrutura de dados que é essencialmente a mesma da mensagem de invocação do LLM. Pode-se dizer que, se alguém chamasse a interface de geração de texto, construiria os dados ajustados.

Abaixo está um exemplo de uma parte típica de dados ajustados:

{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "How do I install a fire alarm in my home?"} , {"role": "assistant", "content": "According to the Home Fire Safety System (GB22370-2008), home fire alarms should be installed in accordance with the manufacturer's requirements. Especificamente, a instalação deve garantir que o dispositivo esteja em um estado de monitoramento normal e conectado aos detectores de incêndio apropriados e a outros componentes. O local de instalação deve evitar locais com alta temperatura, umidade e poeira para garantir a operação normal do dispositivo."}]}

 

Para realizar um ajuste fino, geralmente é necessário preparar dezenas desses dados e salvá-los como um arquivo "jsonl" na forma de uma linha por linha:

{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "How do I install a fire alarm in my home?"} , {"role": "assistant", "content": "According to the Home Fire Safety System (GB22370-2008), home fire alarms should be installed in accordance with the manufacturer's requirements. Especificamente, a instalação deve garantir que o dispositivo esteja em condições normais de monitoramento e conectado aos detectores de incêndio apropriados e a outros componentes. O local de instalação deve evitar áreas quentes, úmidas e empoeiradas para garantir a operação adequada do dispositivo."}]}
{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "What are the power supply requirements for fire alarms?"} , {"role": "assistant", "content": "De acordo com as disposições do Sistema de Segurança contra Incêndio Doméstico (GB22370-2008), a fonte de alimentação principal do controlador de alarme de incêndio doméstico deve ser 220V, 50Hz AC e a extremidade de entrada do cabo de alimentação deve ser fornecida com um terminal. A fonte de alimentação de reserva deve ser uma bateria que possa ser carregada e descarregada várias vezes e, caso não exceda o limite de descarga especificado pelo fabricante, a bateria deve poder ser carregada até a capacidade nominal de mais de 80% dentro de 24 horas e, em seguida, deve poder ser recarregada após 48 horas."}]}
{"messages": [{"role": "system", "content": "You are an expert in fire protection systems"}, {"role": "user", "content": "What are the requirements for the acoustic and visual signals of a fire alarm?"} , {"role": "assistant", "content": "De acordo com o Sistema de Segurança contra Incêndio Doméstico (GB22370-2008), o nível de pressão sonora do sinal acústico do alarme de incêndio não deve ser inferior a 75 dB (ponderação A) a 3 metros em pelo menos uma direção e a 3 metros em qualquer direção não deve ser superior a 120 dB (ponderação A) a 3 metros em qualquer direção. O sinal óptico do alarme luminoso de incêndio deve ser claramente visível a uma distância de 25 metros em uma luz ambiente de 100lx a 500lx."}]}
{"messages": [{"role": "system", "content": "You are an expert in fire protection systems"}, {"role": "user", "content": "What to do with the fault signal of a fire alarm?"} , {"role": "assistant", "content": "De acordo com o Sistema de Segurança contra Incêndio Doméstico (GB22370-2008), quando há uma falha de comunicação com os componentes conectados, desconexão ou curto-circuito do fio de conexão entre o carregador de energia em espera e a fonte de alimentação em espera, desconexão ou curto-circuito do fio de conexão entre a fonte de alimentação em espera e suas cargas Quando houver uma falha de comunicação entre os componentes conectados, uma linha quebrada ou em curto-circuito entre o carregador de energia de reserva e a fonte de alimentação de reserva, uma linha quebrada ou em curto-circuito entre a fonte de alimentação de reserva e sua carga, ou uma subtensão da fonte de alimentação principal, o controlador de alarme de incêndio residencial deve enviar um sinal acústico e óptico da falha e indicar o tipo de falha dentro de 100 segundos. O sinal de falha audível deve poder ser cancelado manualmente e deve poder ser ativado novamente quando houver outra entrada de sinal de falha."}]}
{"messages": [{"role": "system", "content": "You are an expert in fire protection systems"}, {"role": "user", "content": "How does the self-test function of a fire alarm work?"} , {"role": "assistant", "content": "According to the Home Fire Safety System (GB22370-2008), the home fire alarm controller should be able to perform a function check (self-test) on the unit. Durante a execução da função de autoteste, nem os dispositivos externos controlados por ele nem os contatos de saída devem atuar. Se o tempo de autoteste exceder 1 minuto ou se a função de autoteste não puder ser interrompida automaticamente, as funções de alarme de incêndio das partes não autotestadas e do próprio controlador não deverão ser afetadas."}]}
{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "What are the requirements for displaying messages on a fire alarm?"} , {"role": "assistant", "content": "De acordo com as disposições do Sistema de Segurança contra Incêndio Doméstico (GB22370-2008), os controladores de alarme de incêndio doméstico que usam números e letras para exibir o status de funcionamento devem ser organizados em ordem de exibição de alarmes de incêndio, alarmes de supervisão e outros status na ordem de exibição do nível de exibição de informações de alto a baixo. As informações de status de alto nível devem ser exibidas com prioridade, e a exibição de informações de status de baixo nível não deve afetar a exibição de informações de status de alto nível. As mensagens exibidas devem ser consistentes com o status correspondente e facilmente reconhecíveis."}]}
{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "What is the sound pressure level of a fire alarm?"} , {"role": "assistant", "content": "According to the Home Fire Safety System (GB22370-2008), the sound pressure level of the home fire alarm controller in various alarm states (1 metre directly in front) should be not less than 75dB (A weighting)."}]}
{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "How to install a combustible gas detector?"} , {"role": "assistant", "content": "According to "Combustible Gas Alarm Controller" (GB16808-2008), combustible gas detectors should be installed according to the manufacturer's requirements and connected to the combustible gas alarm controller. O local de instalação deve evitar locais com alta temperatura, umidade e poeira para garantir a operação normal do equipamento."}]}
{"messages": [{"role": "system", "content": "You are a fire protection system expert"}, {"role": "user", "content": "What are the requirements for the alarm function of the combustible gas detector?"} , {"role": "assistant", "content": "According to Combustible Gas Alarm Controller (GB16808-2008), combustible gas detector should have the function of low-limit alarm or low-limit and high-limit two-segment alarm. Quando houver uma entrada de sinal de alarme de gás combustível, o controlador deverá emitir um sinal sonoro e luminoso de alarme dentro de 10 segundos e mantê-lo até a reinicialização manual."}]}
{"messages": [{"role": "system", "content": "You are a fire system expert"}, {"role": "user", "content": "How to check the isolation of a fire alarm?"} , {"role": "assistant", "content": "De acordo com o "Sistema de segurança contra incêndio doméstico" (GB22370-2008), meça o valor da resistência de isolamento após aplicar uma tensão de 500 V ± 50 V CC aos terminais ativos externos da amostra e ao chassi, respectivamente, por meio do dispositivo de teste de resistência de isolamento por 60 segundos ± 5 segundos. Meça o valor da resistência de isolamento. O valor da resistência de isolamento entre os terminais ativos externos do corpo de prova com requisitos de isolamento e o chassi não deve ser inferior a 20MΩ; o valor da resistência de isolamento entre o terminal de entrada de energia do corpo de prova e o chassi não deve ser inferior a 50MΩ."}]}

 

Se tivermos acumulado uma quantidade relativamente grande de dados de alta qualidade em nossos negócios diários, podemos começar a fazer o ajuste fino criando arquivos de dados que atendam aos requisitos de formato por meio de uma simples limpeza de dados. Se não tivermos acúmulo de dados ou se o processo de limpeza for mais complicado, podemos tentar fazer o ajuste fino com a ajuda de grandes modelos e construir dados com modelos.

 

Em seguida, usamos um exemplo para praticar o processo de construção de dados. Vamos tentar treinar um modelo grande de um "especialista em combate a incêndios", criando perguntas e respostas usando padrões de combate a incêndios.

 

Dados de ajuste fino tectônico

O SiliconCloud fornece um modelo Qwen2.5 com 128 mil contextos, o que é mais do que suficiente para cobrir um conteúdo bastante rico.

Em primeiro lugar, precisamos preparar localmente o arquivo que será usado para construir os dados, por exemplo, "GB22370-2008 Domestic Fire Safety Systems.pdf".

Em seguida, precisamos extrair o conteúdo do arquivo, escrever o prompt e fazer com que o Qwen Big Model gere dados que atendam aos requisitos acima. Isso pode ser feito no código ou usando a função Dify e outras ferramentas de interface para concluir.

Veja o exemplo da configuração de um fluxo de trabalho na Dify:

1. o arquivo de configuração do nó inicial é carregado e os campos do prompt do sistema no corpus de treinamento são preenchidos;

2) Use o nó de extração de documentos e o nó de código que acompanha o Dify para mesclar o conteúdo do arquivo em texto;

3) Usando o nó LLM, chame o modelo Qwen/Qwen2.5-72B-Instruct-128K do SiliconCloud (se o tamanho do arquivo estiver dentro de 32K, você poderá escolher outro modelo fornecido pela plataforma):

      • Settings - Model Vendor (Configurações - Fornecedor do modelo), selecione SiliconFlow;
      • Clique em Add Model (Adicionar modelo), consulte a imagem para preencher os parâmetros necessários e salvar.

 

  • Um lote de dados de corpus pode ser obtido após a execução, usando a saída do macromodelo como saída do fluxo de trabalho;
  • Em seguida, basta copiar, salvar o conteúdo como um arquivo .jsonl e carregá-lo no SiliconCloud para criar a tarefa de ajuste fino.

 

Se os dados gerados de uma só vez não forem suficientes, várias execuções podem ser feitas para construir mais dados.

É importante observar que dados mais refinados não são necessariamente melhoresMesmo que tenhamos apenas um dado, podemos começar o ajuste fino. Mesmo que haja apenas um dado, podemos começar o ajuste fino; ao contrário, se tivermos muitos dados que não sejam de qualidade suficientemente boa, o efeito do ajuste fino pode não ser o esperado.

 

aplicativo.
  Descrição: "Carregue um arquivo, gere conteúdo diário de Q&A com base no conteúdo do arquivo, usando o modelo Qwen2.5 em contextos SiliconCloud 128K, dados de corpus no formato JSONL".

    ⚠️ Notas:

    - Devido às limitações do Dify, o conteúdo do arquivo com mais de 80.000 caracteres será truncado.

    - O conteúdo gerado é apenas para referência, pode haver ilusões ou erros de conteúdo, erros de formatação, preste atenção à triagem '
  ícone: 🤖
  icon_background: '#FFEAD5'
  mode. fluxo de trabalho
  nome: Fine-tune corpus builder
  use_icon_as_answer_icon: false
tipo: aplicativo
versão: 0.1.5
fluxo de trabalho.
  variáveis_de_conversação: []
  variáveis_de_ambiente: []
  recursos.
    file_upload: [] environment_variables: [] features.
      Extensões de arquivo permitidas.
      - .JPG
      - .JPG
      - .JPG
      - .GIF
      - .WEBP
      - .SVG
      tipos_de_arquivos_permitidos.
      - .GIF .WEBP .SVG
      métodos_de_upload_de_arquivos_permitidos.
      - local_file
      - remote_url
      enabled: false
      fileUploadConfig: audio_file_size_limit: 50
        audio_file_size_limit: 50
        batch_count_limit: 5
        limite_de_tamanho_do_arquivo: 15
        image_file_size_limit: 10
        limite de tamanho do arquivo de vídeo: 100
        limite de upload de arquivo de fluxo de trabalho: 10
      image.
        enabled: false
        número_limites: 3
        workflow_file_upload_limit: 10 image: enabled: false number_limits: 3 transfer_methods.
        - local_file
        - remote_url
      number_limits: 3
    opening_statement: ''
    retriever_resource.
      enabled: true
    sensitive_word_avoidance: ativado: false
      ativado: falso
    speech_to_text.
      enabled: false
    suggested_questions: []
    suggested_questions_after_answer: [enabler: false speech_to_text: false
      habilitado: false
    speech_to_text: enabled: false suggested_questions: [] suggested_questions_after_answer: enabled: false
      ativado: false
      idioma: ''
      voz: ''
  graph: false
    edges.
    - dados: isInIteration: false
        isInIteration: false
        sourceType: start
        targetType: document-extractor
      id: 1735807686274-source-1735807758092-target
      source: '1735807686274'
      sourceHandle: fonte
      target: '1735807758092'
      targetHandle: alvo
      type: custom
      zIndex: 0
    - targetHandle: target type: custom zIndex: 0 data.
        isInIteration: false
        sourceType: document-extractor
        targetType: código
      id: 1735807758092-source-1735807761855-target
      source: '1735807758092'
      sourceHandle: fonte
      target: '1735807761855'
      targetHandle: target
      type: custom
      zIndex: 0
    - targetHandle: target type: custom zIndex: 0 data.
        isInIteration: false
        sourceType: código
        targetType: llm
      id: 1735807761855-source-1735807764975-target
      source: '1735807761855'
      sourceHandle: fonte
      target: '1735807764975'
      targetHandle: target
      type: custom
      zIndex: 0
    - targetHandle: target type: custom zIndex: 0 data.
        isInIteration: false
        sourceType: llm
        targetType: end
      id: 1735807764975-source-1735807769820-target
      source: '1735807764975'
      sourceHandle: source
      target: '1735807769820'
      targetHandle: target
      type: custom
      zIndex: 0
    targetHandle: tipo de destino: personalizado zIndex: 0
    - target type: custom zIndex: 0 nodes: 0 data.
        desc: ''
        selected: false
        título: Start
        type: start
        variáveis: allowed_file_extensions: []
        - extensões_de_arquivo permitidas: []
          tipos_de_arquivos_permitidos: []
          - [] tipos_de_arquivos_permitidos: document
          allowed_file_upload_methods: [] allowed_file_types: document
          - local_file
          - remote_url
          rótulo: documento do corpus
          max_length: 10
          opções: []
          obrigatório: true
          tipo: file-list
          variável: attachments
        - Extensões de arquivo permitidas: []
          allowed_file_types.
          - image
          allowed_file_upload_methods: [] allowed_file_types: image
          - local_file
          - remote_url
          label: palavra acionadora (prompt do sistema no treinamento)
          max_length: 48
          opções: []
          obrigatório: true
          tipo: text-input
          variável: trigger
      altura: 116
      id: '1735807686274'
      position.
        x: 30
        y: 258
      positionAbsolute.
        x: 30
        y: 258
      selected: false
      sourcePosition: direita
      targetPosition: esquerda
      type: custom
      data: data: y: 258 selected: false sourcePosition: right targetPosition: left type: custom
    - data.
        is_array_file: true
        is_array_file: true
        selected: false
        título: Document Extractor
        tipo: document-extractor
        variable_selector.
        - '1735807686274'
        - anexos
      altura: 92
      id: '1735807758092'
      posição.
        x: 334
        y: 258
      positionAbsolute.
        x: 334
        y: 258
      selected: false
      sourcePosition: direita
      targetPosition: esquerda
      type: custom
      data: data: y: 258 selected: false sourcePosition: right targetPosition: left type: custom
    - data.
        código: "def main(articleSections: list) -> dict:\n try:\n # Combine os itens da lista em uma string \n\
          \ texto_combinado = \"\\n\".join(articleSections)\n \n \n \n
          \\ # Interceptar os primeiros 80.000 caracteres \n truncated_text = combined_text[:80.000]\n \n \n
          \n \n return {\n \"resultado\": truncated_text\n \n
          \n }\n except Exception as e:\n # Error handling \n return {\n \n \n
          \ \ \ \ "result\": \ "\"\ \ \n }"
        linguagem_do_código: python3
        desc: ''
        outputs.
          filhos: nulo
            filhos: nulo
            tipo: string
        selected: false
        título: Execução de código
        tipo: code
        variáveis: value_selector: value_selector
        - value_selector.
          - '1735807758092'
          - texto
          variável: articleSections
      altura: 54
      id: '1735807761855'
      position.
        x: 638
        y: 258
      positionAbsolute.
        x: 638
        y: 258
      selected: false
      sourcePosition: direita
      targetPosition: esquerda
      type: custom
      data: data: y: 258 selected: false sourcePosition: right targetPosition: left type: custom
    - data.
        context.
          enabled: false
          variable_selector: []
        desc: ''
        model: [] desc: ''
          completion_params: [] desc: '' model: [] completion_params.
            frequency_penalty: 0,5
            max_tokens: 4096
            temperatura: 0,3
          modo: chat
          nome: Qwen/Qwen2.5-72B-Instruct-128K
          provedor: Qwen/Qwen2.5-72B-Instruct-128K fluxo de silício
        prompt_template.
        - id: b6913d40-d173-45d8-b012-98240d42a196
          função: sistema
          text: '[Função

            Você é um cientista de modelagem de linguagem grande do LLM que ajuda os usuários a construir dados ajustados que estejam em conformidade com a especificação, levando em conta o conteúdo fornecido pelo usuário!

            Tarefas

            - Para um determinado conteúdo, você lista 10 perguntas genéricas de cada vez;

            - Para cada pergunta, forneça uma resposta citando o texto original do conteúdo e uma explicação ou dedução razoável do conteúdo;

            - E organize as perguntas e respostas em um formato JSONL padronizado.

            [Requisitos

            1. as perguntas **não** citam diretamente o "conteúdo", elas devem estar próximas da vida real contemporânea;

            2. as perguntas devem estar no vernáculo, evitando "falsas, grandes e vazias";

            3. a resposta deve ser fiel ao texto original, e a interpretação do texto original não deve ser desvinculada da ideia principal ou do pensamento do texto original;

            Especificação de saída

            * Especificação de saída JSONL, um dado por linha

            * Cada linha de dados deve conter uma matriz de mensagens, cada uma das quais deve conter três linhas com as funções sistema, usuário e assistente.

            * Os dados em que a função é sistema são particularmente importantes, pois o prompt do sistema está em treinamento e seu conteúdo usa a "palavra de acionamento" especificada pelo usuário.

            * Os dados cuja função é usuário correspondem à "pergunta" listada.

            * Os dados cuja função é assistente correspondem à "resposta" à "pergunta".

            * A seguir, um exemplo:

            ```

            {"messages": [{"role": "system", "content": "You are a contemporary scholar"}, {"role": "user".
            "conteúdo": "Como devo estudar?"} , {"role": "assistant", "content": "Hsien-hsien é fácil de colorir; para servir aos pais, pode-se dar o melhor de si; para servir ao governante, pode-se dar o melhor de si; para fazer amizade com os amigos, deve-se ser fiel à palavra dada. Embora eu diga que não aprendi, direi que aprendi."}]}

            ```''
        - id: 61530521-14cf-4eaf-8f06-a4bc89db3cb1
          função: usuário
          text: '```Content''

            {{#1735807761855.result#}}

            "Palavra de gatilho"

            {{#1735807686274.trigger#}}'
        selected: false
        título: LLM
        tipo: llm
        variáveis: []
        visão.
          enabled: false
      altura: 98
      id: '1735807764975'
      position.
        x: 942
        y: 258
      positionAbsolute.
        x: 942
        y: 258
      selected: true
      sourcePosition: direita
      targetPosition: esquerda
      type: custom
      dados: dados: y: 258
    - data.
        desc: ''
        outputs: value_selector: ''
        - value_selector.
          - '1735807764975'
          - text
          variável: text
        selected: false
        título: end
        tipo: end
      altura: 90
      id: '1735807769820'
      position.
        x: 1246
        y: 258
      positionAbsolute.
        x: 1246
        y: 258
      selected: false
      sourcePosition: direita
      targetPosition: esquerda
      type: custom
      data: data: y: 258 selected: false sourcePosition: right targetPosition: left type: custom
    - dados.
        autor: Dify
        desc: ''
        altura: 88
        selected: false
        showAuthor: true
        text: '{"root":{"children":[{"children":[{"detail":0, "format":0, "mode": "normal", "style":"", "text": "Set lower
          temperatura para melhorar a estabilidade do formato de saída", "type": "text", "version":1}], "direction": "ltr", "format":"", "indent":0, "type": "paragraph", "version":1," textFormat":0}], "direction": "ltr", "format":"", "indent":0, "type": "root", "version":1}}'
        tema: azul
        título: ''
        type: ''
        largura: 240
      altura: 88
      id: '1735808753316'
      position.
        x: 951.4285714285714
        y: 375.7142857142857
      positionAbsolute.
        x: 951.4285714285714 y: 375.7142857142857
        y: 375.7142857142857
      selected: false
      sourcePosition: direita
      targetPosition: esquerda
      type: custom-note
      largura: 240
    - data.
        autor: Dify
        desc: ''
        altura: 88
        selected: false
        showAuthor: true
        text: '{"root":{"children":[{"children":[{"detail":0, "format":0, "mode": "normal", "style":"", "text": "Mesclar o conteúdo de vários documentos e interceptar os primeiros
          caracteres 8W", "type": "text", "version":1}], "direction": "ltr", "format":"", "indent":0, "type": "paragraph", "version":1, "textFormat":0}]," direction": "ltr", "format":"", "indent":0, "type": "root", "version":1}}'
        tema: azul
        título: ''
        type: ''
        largura: 240
      altura: 88
      id: '1735808799815'
      position.
        x: 640
        y: 338.5714285714286
      positionAbsolute.
        x: 640
        y: 338.5714285714286
      selected: false
      sourcePosition: direita
      targetPosition: esquerda
      type: custom-note
      width: 240
    viewport.
      x: 0
      y: 0
      zoom: 0.7

 

Além de usar ferramentas como o Dify, o uso direto de modelos como o Qwen/Qwen2.5-Coder-32B-Instruct para ajudar a escrever scripts a serem executados também é uma maneira eficiente de construir dados ajustados e pode contornar várias limitações das plataformas tripartidas, aproveitando ao máximo as vantagens da plataforma SiliconCloud de raciocínio eficiente e rico em modelos e coletando mais dados de corpus de alta qualidade. dados.

 

Treinamento e validação de ajuste fino

Crie uma nova tarefa de ajuste fino na plataforma SiliconCloud, carregue e selecione o arquivo .jsonl que você acabou de salvar e clique em Start Fine-Tuning (Iniciar ajuste fino). Aguarde até que a tarefa de ajuste fino termine a fila e, quando a execução for concluída, você poderá usar o modelo ajustado ou validar os resultados por meio de uma experiência on-line ou API. O recurso Compare (Comparar) da experiência on-line do Dialogue Model também permite que você compare as respostas e os resultados do modelo em vários Checkpoint e modelos básicos, escolhendo o modelo que funciona melhor para continuar usando. Modelo de ajuste fino vs. modelo básico: Comparação entre vários pontos de controle: Neste ponto, usamos arquivos locais para criar dados ajustados do LLM e ajustamos um LLM Fire Expert. É claro que, com as etapas acima, você também pode tentar criar seu próprio LLM específico de domínio.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " 4 etapas para o ajuste fino do LLM: um guia prático para criar grandes modelos de domínio com o SiliconCloud

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil