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

A avaliação de benchmark chinesa atualizada do Claude 3.5 Sonnet foi lançada! A capacidade de codificação excede o GPT-4o, mas o raciocínio de ordem superior não é tão bom quanto o o1

Os resultados dessa avaliação serão usados apenas para pesquisa acadêmica.

Em 22 de outubro, a Anthropic lançou oficialmente o modelo grande atualizado Claude 3.5 Sonnet, bem como o novo modelo Claude 3.5 Haiku.


 

De acordo com os funcionários da Anthropic, o Claude 3.5 Sonnet supera a versão anterior em todas as capacidades, com melhorias significativas de desempenho, especialmente em tarefas de codificação de corpos inteligentes e uso de ferramentas.No SWE-bench Verified, seu desempenho de codificação melhora de 33,41 TP3T para 49,01 TP3T, superando todos os modelos disponíveis publicamente, inclusive o OpenAI o1-preview.

O Anthropic também está introduzindo um novo recurso inovador: o uso do computador. Os desenvolvedores podem controlar o Claude para usar o computador da mesma forma que um humano por meio de uma API, mas o recurso está atualmente em fase experimental.

 

Em resposta às preocupações do público sobre o desempenho da atualização do Claude 3.5 Sonnet, em termos de raciocínio e código em cenários chineses, a SuperCLUE, uma organização profissional de avaliação terceirizada, realizou uma avaliação aprofundada da atualização do Claude 3.5 Sonnet.

ambiente de avaliação

Padrões de referência: SuperCLUE-Reasoning Chinese Higher Order Reasoning Assessment Benchmark, SuperCLUE-Code3 Chinese Code Assessment Benchmark.

Modelos de avaliação Claude 3.5 Sonnet (1022, POE último modelo instantâneo)

Configuração do Model GenerationConfig:

  • Consulte o documento Instruções detalhadas do Claude: https://www.anthropic.com/news/3-5-models-and-computer-use

Episódio de revisão:

1. conjunto de revisão de raciocínio de ordem superior do SuperCLUE-Reasoning Chinese Complex Tasks. Um total de 302 questões, incluindo raciocínio em várias etapas, raciocínio numérico, cálculos de raciocínio, análise de mercado e problemas de otimização, cinco tarefas difíceis de raciocínio.

2. conjunto de avaliação de código nativo chinês SuperCLUE-Code3. versão atualizada em chinês do HumanEval, um total de 195 perguntas, incluindo 1.560 casos de teste, divididos em três categorias de nível de dificuldade: primária, intermediária e avançada.

Metodologia::

1) Raciocínio de ordem superior: para cada pergunta de raciocínio, fornecemos respostas de referência e processos de raciocínio após calibração e verificação manuais; em seguida, o modelo de árbitro avalia as respostas dos modelos candidatos de acordo com o processo de avaliação definido, os critérios de avaliação e as regras de pontuação (de 1 a 5 pontos). Os critérios de avaliação definidos incluem: conformidade com os requisitos básicos, precisão do raciocínio e razoabilidade das conclusões.

-1

 

2. código SC-Code3: projetado especificamente para avaliar e aprimorar os principais recursos do Chinese Big Model na geração de código por meio de testes de unidades funcionais.

SuperCLUE-Code3: referências de proficiência em código com nível nativo chinês

-1

 

Vamos começar com as conclusões

Conclusão 1: Cláudio 3.5 O Soneto (1022) tem bom desempenho em termos de capacidade de código chinês (SC-Code3). A pontuação total alcançou 84,85, 1,52 pontos a mais do que o GPT-4o-0513 que é 4,54 pontos menor que o o1-preview. Em particular, ele teve um desempenho incrivelmente bom nas tarefas de código avançado, com pontuação de 69,23, empatando com o o1-preview.

Conclusão 2: Claude 3.5 Sonnet (1022) obteve 74,54 pontos na tarefa chinesa de raciocínio de ordem superior. Próximo ao ChatGPT-4o-latest, com uma grande diferença em relação ao o1-preview (-10,73 pontos) . Entre elas, a capacidade de raciocínio em várias etapas é relativamente notável, com desempenho superior ao do ChatGPT-4o-latest.

**Conclusão 3:** Em comparação com a versão anterior Claude 3.5 Sonnet (0621). Claude 3.5 Sonnet (1022) melhorou em 4,57 pontos na tarefa de raciocínio e progresso significativo em tarefas secundárias, como raciocínio numérico e raciocínio computacional.

Resultados da avaliação

-1-1

 

análise comparativa

-1-1

-1-1

 

Exemplo de medição de código

Exemplo 1

Prompt.

de digitação importação Lista

def sequência_de_pico_mais_longa(números. Lista[int]) -> int:
    """
    Encontre o comprimento da sequência de "pico" mais longa em uma matriz de números inteiros.
    Uma sequência de "pico" é aquela que é estritamente crescente e, em seguida, estritamente decrescente, e tem um único pico (ou seja, um valor máximo).
    Uma sequência de "pico" (ou seja, uma sequência que contém partes crescentes e decrescentes) só pode ser composta de pelo menos três números.

    Retorna o comprimento do "pico" mais longo da matriz. Se não houver "picos", será retornado 0.

    Exemplo.
    >>> longest_peak_sequence([2, 1, 4, 7, 3, 2, 5])
    5 # A sequência de "pico" mais longa é [1, 4, 7, 3, 2].

    >>> longest_peak_sequence([5, 4, 3, 2, 1])
    0 # Não há sequência de "pico", pois não há nenhuma parte estritamente crescente.

    Dica.
    - O comprimento da matriz `nums` varia de [0, 10000].
    - Cada elemento da matriz está no intervalo [-10000, 10000].
    """

Claude 3.5 Soneto (1022) Resposta.

de digitação importação Lista

def sequência_de_pico_mais_longa(números: Lista[int]) -> int:
    se len(números) < 3:
        retorno 0

    max_length = 0

    # Iterar do segundo ao penúltimo elemento
    para i em alcance(1, len(números) - 1).
        # Verifique se a posição atual é um pico
        se números[i] > números[i-1] e números[i] > números[i+1].
            # Encontrando um pico, expandindo em ambas as direções
            esquerda = i - 1
            direito = i + 1

            # Expanda para a esquerda para encontrar sequências estritamente crescentes
            enquanto esquerda > 0 e números[esquerda-1] < números[esquerda]:
                esquerda -= 1

            # Expandir para a direita, procurando por sequências estritamente decrescentes
            enquanto direito < len(números) - 1 e números[direito+1] < números[direito]:
                direito += 1

            # Atualizar comprimentos de sequência de pico mais longos
            current_length = direito - esquerda + 1
            max_length = máximo(max_length, current_length)

    retorno max_length

Caso de teste.

def check(candidate).
    afirmar candidato( [1, 2, 3, 4, 5, 6])==0
    afirmar candidato([1, 3, 5, 6, 4, 2, 0])==7
    afirmar candidato( [5, 4, 3, 2, 1, 2, 3, 4, 1])==5
    afirmar candidato([1, 3, 5, 3, 1])==5
    afirmar candidato([1, 2, 3, 3, 2, 1])==0
    afirmar candidato([2, 1, 3, 1, 2, 1, 3])==3
    afirmar candidato([1, 3, 5, 4, 3, 2, 1])==7

if_passed**(Adotado ou não):**Adotado.

Exemplo 2

Prompt.

de digitação importação Lista

def caminho_aumentado_mais_longo(matriz. Lista[Lista[int]]) -> int:
    """
    Dada uma matriz de números inteiros, encontre o comprimento do caminho estritamente crescente mais longo.
    O caminho é definido para começar em qualquer célula da matriz, e você pode se mover para cima, para baixo, para a esquerda ou para a direita em células vizinhas a cada vez, se for incremental.
    Não é possível sair da matriz em um caminho, nem mover-se para uma célula que não satisfaça a condição incremental.
    O comprimento do caminho é o número total de células no caminho.

    Exemplo.
    >>> longest_increasing_path([
            
            
            [2, 1, 1]
        ])
    4 # O caminho crescente mais longo é [1, 2, 6, 9]

    >>> longest_increasing_path([
            
            [3, 2, 6], [2, 2, 1]
            [2, 2, 1]
        ])
    4 # O caminho crescente mais longo é [3, 4, 5, 6] ou [2, 4, 5, 6]

    Dicas.
    - A dimensão da matriz `matrix` é m x n.
    - Cada elemento da matriz `matrix` é um número inteiro não negativo.

    """

Claude 3.5 Soneto (1022) Resposta.

de digitação importação Lista

def caminho_aumentado_mais_longo(matriz: Lista[Lista[int]]) -> int:
    se não matriz ou não matriz[0]:
        retorno 0

    m, n = len(matriz), len(matriz[0])
    Cache # para armazenar o comprimento do caminho incremental mais longo para cada local
    cache = [[0] * n para _ em alcance(m)]

    def dfs(i: int, j: int) -> int:
        # Se já tiver sido calculado, retorne diretamente o resultado armazenado em cache
        se cache[i][j] != 0:
            retorno cache[i][j]

        # Quatro direções: para cima, para baixo, para a esquerda, para a direita
        direções = [(-1, 0), (1, 0), (0, -1), (0, 1)]

        # O caminho mais longo até o local atual é de pelo menos 1
        max_length = 1

        # Percorrendo as quatro direções
        para di, dj em direções:
            ni, nj = i + di, j + dj

            # Verifique se ele está dentro da matriz e se satisfaz a condição incremental
            se (0 <= ni < m e 0 <= nj < n e 
                matriz[ni][nj] > matriz[i][j]).
                # Cálculo recursivo do caminho mais longo até o local de um vizinho
                curr_length = 1 + dfs(ni, nj)
                max_length = máximo(max_length, curr_length)

        Cache de acesso #
        cache[i][j] = max_length
        retorno max_length

    # Percorra cada posição na matriz para encontrar o caminho mais longo
    resultado = 0
    para i em alcance(m):
        para j em alcance(n):
            resultado = máximo(resultado, dfs(i, j))

    retorno resultado

Caso de teste.

def check(candidate).
    afirmar candidato([[1, 1], [1, 1]]) == 1
    afirmar candidato([
    [9, 9, 4],
    [6, 6, 8],
    [2, 1, 1]
]) == 4
    afirmar candidato([
    [3, 4, 5],
    [3, 2, 6],
    [2, 2, 1]
]) == 4
    afirmar candidato([
        [1, 2, 3, 4],
        [5, 6, 7, 8],
        [9, 10, 11, 12],
        [13, 14, 15, 16]
]) == 7
    afirmar candidato([
        [-1, -2, -3, 0],
        [5, -6, 7, -8],
        [-9, 0, -11, -12],
        [13, 0, 15, -16]
]) == 4
    afirmar candidato([
    [5, 10, 6, 7, 9],
    [6, 10, 2, 2, 3], 
    [4, 9, 8, 2, 8],
    [3, 3, 3, 8, 8]
])==4
    afirmar candidato([
    [1, 3, 1, 4],
    [1, 5, 1, 7],
    [4, 2, 1, 1],
    [1, 3, 2, 1]
])==3
    afirmar candidato([
    [1, 9, 2, 4], 
    [9, 6, 5, 3],
])==4

if_passed(Adotado ou não):Adotado.

Exemplos de raciocínio de ordem superior

Exemplo 1: Raciocínio em várias etapas

perguntar

Uma empresa tem sete funcionários chamados A, B, C, D, E, F e G. A empresa realizou um exercício de classificação e, com base nas notas dos funcionários e nas condições a seguir, deduza a classificação exata de cada funcionário:

  1. A tem pontuação maior que B, mas menor que C.
  2. A pontuação de D é maior que a de E e G, mas menor que a de A.
  3. O G obteve a pontuação mais baixa.
  4. A pontuação de B é maior que a de E e F.
  5. A pontuação de F é maior do que a de E.
  6. A nota C foi a mais alta.
  7. Cada funcionário tem uma pontuação diferente, com D bem no centro.

Determine a pontuação específica de cada funcionário com base nas condições acima.

Claude 3.5 Soneto (1022) responde:

Vamos extrapolar a classificação de cada funcionário por meio de uma análise lógica:

  1. Conhecido da condição 3: G está em último lugar (7º)
  2. Conhecido da condição 6: C está no topo (1º lugar)
  3. Conhecido da condição 7: D está classificado em 4º lugar (posição intermediária)
  4. Sabemos pela condição 2: D é mais alto que E e G, mas mais baixo que A. Portanto:
    • E deve ser classificado depois de D (5º ou 6º)
    • A deve ser classificado antes de D (2º ou 3º)
  5. Sabemos pela condição 1: A é maior que B, mas menor que C. Combine isso com a análise anterior:
    • 2º lugar na fila A
    • B deve estar em 3º lugar no ranking
  6. Sabemos pelas condições 4 e 5: B é maior que E e F, e F é maior que E. Portanto:
    • 5º lugar na linha F
    • E 6º lugar

As classificações finais são as seguintes:

  1. C (1º lugar)
  2. A (2º lugar)
  3. B (3º lugar)
  4. D (4º)
  5. F (5º)
  6. E (6º)
  7. G (7º)

Gostaria que eu lhe mostrasse o processo de raciocínio detalhado?

Exemplo 2: Problema de otimização

perguntar

Uma cidade tem cinco grandes centros de transporte e o departamento de planejamento da cidade quer otimizar a cobertura das rotas de ônibus para garantir que cada centro seja conectado por pelo menos uma rota. Os custos de construção entre os hubs são conhecidos e o objetivo é conectar todos os hubs a um custo mínimo.

Dados:

  • Custos de conectividade entre hubs (em US$ milhões)
  • Hub 1 e Hub 2: US$ 100.000
  • Hub 1 e Hub 3: US$ 150.000
  • Hub 2 e Hub 4: US$ 200.000
  • Hub 3 e Hub 4: US$ 250.000
  • Hub 3 e Hub 5: US$ 300.000
  • Hub 4 e Hub 5: US$ 180.000

Objetivo: determinar quais hubs devem ser conectados uns aos outros para minimizar o custo total de construção e garantir que todos os hubs estejam interconectados.

Claude 3.5 Soneto (1022) responde:

Esse é um problema de árvore de abrangência mínima que resolverei usando o algoritmo de Kruskal. Vamos analisá-lo passo a passo:

  1. Primeiro, classifique todas as conexões do menor para o maior custo:
    • Hub 1-2: US$ 100.000
    • Hubs 1-3: US$ 150.000
    • Hub 4-5: US$ 180.000
    • Hubs 2-4: US$ 200.000
    • Hub 3-4: US$ 250.000
    • Hubs 3-5: US$ 300.000
  2. A conexão de menor custo é selecionada para evitar a formação de um anel:
    • Selecione o Hub 1-2 (US$ 100.000)
    • Selecione o Hub 1-3 (US$ 150.000)
    • Select Hub 4-5 (US$ 180.000)
    • Select Hub 2-4 (US$ 200.000)

Programa ideal:

  • Conexão do hub 1 e do hub 2
  • Conexão do hub 1 e do hub 3
  • Conexão do hub 4 e do hub 5
  • Conexão do hub 2 e do hub 4

Custo total: 10 + 15 + 18 + 20 = $630.000

Esse programa garante que:

  1. Todos os hubs estão conectados
  2. Nenhum laço formado
  3. Custo total de propriedade mínimo

Gostaria que eu gerasse uma visualização para mostrar essa solução?

# Participe da comunidade

Para obter mais detalhes sobre a análise do último grande modelo Claude 3.5, você pode entrar no grupo de troca SuperCLUE-Claude.

Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " A avaliação de benchmark chinesa atualizada do Claude 3.5 Sonnet foi lançada! A capacidade de codificação excede o GPT-4o, mas o raciocínio de ordem superior não é tão bom quanto o o1

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