Llama3.370B超越GPT-4o和Claude3.5 Sonnet

AI领域日新月异,最近AI 领域发生了太多事情,本文就语言大模型Llama 3.3 70B、GPT-4o 和 Claude 3.5 Sonnet进行对比。
12月7日,Meta今年的最终AI模型将要来了。Meta12月6日发布了Llama 3.3,拥有700亿个参数,但其性能与拥有4050亿个参数的Llama 3.1相当。

Meta强调,Llama 3.3型号效率更高、成本更低,可在标准工作站上运行,在提供高质量文本AI解决方案的同时降低运营成本。

  • Llama 3.3机型优化了多语言支持,支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语、泰语八种语言。
  • Llama 3.3 的上下文长度为 128K,支持多种工具格式,可以与外部工具和服务集成,扩展模型的功能。

在本文指南中,我们将介绍什么是 Llama 3.3、如何在本地使用 Llama 3.3 以及为什么 Llama 3.3 比 GPT-4o 和 Claude 3.5 Sonnet 强大。

什么是 Llama 3.3

Llama 3.3 是 Meta AI 推出的拥有 70B 参数的大型多语言预训练语言模型。该模型在性能上与 405B 参数的 Llama 3.1 相当,并针对多语言对话进行了优化,支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。
Llama 3.3 具有更长的上下文窗口、多语言输入输出功能以及与第三方工具集成以扩展其功能的能力,使其适合商业和研究用途。

Llama 3.3 的主要功能

  • 效率与成本:Llama 3.3模型效率更高、成本更低,可运行在标准工作站上,在提供高质量文本AI解决方案的同时,降低运营成本。
  • 多语言支持:支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语等8种语言,并能处理这些语言的输入和输出。
  • 长上下文窗口:模型支持128K的上下文长度。
  • 集成第三方工具:与第三方工具和服务集成,扩展功能和应用场景。

Llama 3.3 与 Llama 3.2 之间的比较

与Llama 3.2 相比,Llama 3.3 实现了显着的性能提升,尤其是在基于文本的任务方面。 Llama 3.2 专注于提供适合部署在边缘设备上的轻量级模型(1B 和3B 参数)和多模态模型(11B Vision 和90B Vision)。相比之下,Llama 3.3 将参数范围缩小到70B,并专注于提高文本生成的质量。

调用3.3

Llama 3.3 使用 Meta 定制开发的训练库、定制的 GPU 集群和生产基础设施进行预训练。微调、注释和评估都在同一生产基础设施上进行。在 H100–80GB(TDP 700W)硬件上,训练累计耗费 39.3M GPU,即 700 万个 GPU 小时。

如何在本地使用 Llama 3.3?

Llama 3.3 使用与 Llama 3.1 相同的提示格式。因此,为 Llama 3.1 创建的提示将在 Llama 3.3 中保持不变。这对于从 Llama 3.1 迁移的用户来说是一个很大的优势。Llama 3.3 支持与 Llama 3.1 相同的代码解释器和工具调用功能。这些功能允许您的模型利用外部工具和信息。
Ollama 是启动和运行本地语言模型的最快方法我们建议尝试 Llama 3.3 70B,它的大小令人印象深刻,并且在大多数硬件上都能表现良好。
1.从 此处 下载 Ollama(它将引导您完成其余步骤)2.打开终端并运行ollama run llama3.3
在这里插入图片描述

Llama 3.3 70B vs Claude 3.5 Sonnet vs GPT-4o

现在来比较一下 Claude 3.5 Sonnet 和GPT-4o ,并验证 Llama 3.3 70B 的性能如何。
本次将核实以下几项内容:

编码能力

在过去的两年里,我广泛使用 Python 作为我的主要编程语言。我解决了一些受现实问题启发的棘手 Python 问题。

给定一个由正整数组成的数组nums 。从score = 0开始,
应用以下算法:选择数组中未标记的最小整数。如果存在平局,则选择索引最小的整数。将所选整数的值添加到score 中。标记所选元素及其两个相邻元素(如果存在)。重复此操作,直到所有数组元素都被标记。返回应用上述算法后获得的分数。
示例1 :
输入: nums = [ 2 , 1 , 3 , 4 , 5 , 2 ]
输出:7
解释:对元素进行如下标记:- 1是最小的未标记元素,因此我们标记它和它的两个相邻元素: [ 2 , 1 , 3 , 4 , 5 , 2 ]。- 2是最小的未标记元素,因此我们标记它和其左相邻元素: [ 2 ,1 ,3 ,4 ,5 ,2 ]。- 4是唯一剩余的未标记元素,因此我们标记它: [ 2 ,1 ,3 ,4 ,5 ,2 ]。我们的分数是1 + 2 + 4 = 7
LLama 3.3
def find_score(nums):
    """
    Calculate the score by applying the given algorithm.

    Args:
    nums (list): A list of positive integers.

    Returns:
    int: The calculated score.
    """
    score = 0
    marked = [False] * len(nums)

    while False in marked:
        min_val = float('inf')
        min_idx = -1

        # Find the smallest unmarked integer
        for i, num in enumerate(nums):
            if not marked[i] and num < min_val:
                min_val = num
                min_idx = i

        # Add the value of the chosen integer to score
        score += min_val

        # Mark the chosen element and its two adjacent elements if they exist
        for i in range(max(0, min_idx - 1), min(len(nums), min_idx + 2)):
            marked[i] = True

    return score


# Example usage
nums = [2, 1, 3, 4, 5, 2]
print(find_score(nums))  # Output: 7
GPT-4o
def get_score(nums):
    n = len(nums)
    marked = [False] * n  # Array to track marked elements
    score = 0
    while True:
        # Find the smallest unmarked element
        smallest_value = float('inf')
        smallest_index = -1
        for i in range(n):
            if not marked[i] and nums[i] < smallest_value:
                smallest_value = nums[i]
                smallest_index = i
        if smallest_index == -1:  # If no unmarked elements are left, break
            break
        # Add the value of the chosen element to the score
        score += nums[smallest_index]
        # Mark the chosen element and its two adjacent elements
        marked[smallest_index] = True
        if smallest_index > 0:
            marked[smallest_index - 1] = True
        if smallest_index < n - 1:
            marked[smallest_index + 1] = True
    return score
# Example usage
nums = [2, 1, 3, 4, 5, 2]
print(get_score(nums))
Claude 3.5 Sonnet
def markElements(nums):
    # Create a copy of the input array to track marked elements
    marked = [False] * len(nums)
    score = 0
    
    while not all(marked):
        # Find the smallest unmarked element
        min_val = float('inf')
        min_index = -1
        
        # Find the smallest unmarked element with the smallest index
        for i in range(len(nums)):
            if not marked[i] and nums[i] < min_val:
                min_val = nums[i]
                min_index = i
        
        # Add the chosen element's value to score
        score += nums[min_index]
        
        # Mark the chosen element
        marked[min_index] = True
        
        # Mark left adjacent element if it exists
        if min_index > 0:
            marked[min_index - 1] = True
        
        # Mark right adjacent element if it exists
        if min_index < len(nums) - 1:
            marked[min_index + 1] = True
    
    return score
# Test cases
test_cases = [
    [2,1,3,4,5,2],  # Example from the problem statement
    [1,2,3,4,5],    # Consecutive increasing numbers
    [5,4,3,2,1]     # Consecutive decreasing numbers
]
for nums in test_cases:
    print(f"Input: {nums}")
    print(f"Output: {markElements(nums)}\n")

在 Visual Studio Code 上运行代码时,这三个解决方案都是正确的。但是,LLama 3.3 的代码很清晰,但使用了循环while False in marked,这不如直观while not all(marked)。它还重复了查找最小未标记元素的逻辑,而没有使用辅助函数,这使得它更难维护。

GPT-4o 具有最易读的while True循环和明确的中断条件、简洁的注释和清晰的逻辑,避免了冗余,使其成为可读性和可维护性的可靠选择。

Claude 3.5 Sonnet 也很清晰并且使用了not all(marked)循环条件,但是它的冗长的风格和额外的测试用例虽然有帮助,但却使其不如 GPT-4o 版本那么集中。

总体而言,GPT-4o 的版本是最好的,因为它的结构清晰,注释运用良好,设计直观,有效地平衡了可读性、功能性和可维护性。

数学能力

比较并验证数学能力,我们会让参与者回答概率问题,很多人害怕进入数据科学,因为他们害怕高中和大学的代数、矩阵和组合学。

5次抛硬币中正好出现两次反面的概率
LLama3.3
步骤 1:定义样本空间

样本空间包含抛 5 枚硬币的所有可能结果。每枚硬币落地的方式有两种:正面(H)或反面(T)。因此,样本空间有 2^5 = 32 种可能的结果。

步骤 2:确定有利结果

我们想要找到恰好出现 2 次反面的概率。这意味着我们需要计算出 2 次反面和 3 次正面的结果的数量。我们可以使用二项式系数来计算:
从 5 次抛掷中选择 2 次反面的方式数 = C(5, 2) = 5 / (2 × 3!) = 10
因此,恰好出现 2 次反面的有利结果共有 10 个。

步骤 3:计算概率

恰好得到 2 个反面的概率是有利结果的数量除以可能结果的总数:
P(恰好 2 个反面)= 有利结果的数量 / 结果总数
= 10 / 32 
= 5/16
答案在 5 枚硬币抛掷中恰好得到 2 个反面的概率为 5/16 或大约 0.3125 (31.25%)。
用数学符号来说,这可以表示为:
P ( X = 2= (5选2 ) × (1 / 2 )^ 2 × (1 / 2 )^ 3 = 10 / 32 = 5 / 16 ,
其中X是表示反面数量的随机变量,(5选2)是表示在5次抛掷中选择2次反面的方法数量的二项式系数。
GPT-4o

在这里插入图片描述

Claude 3.5 Sonnet

在这里插入图片描述
在这里插入图片描述

所有三个模型都正确识别出概率为 5/16。

  • ** LLama3.3 ** 由于其方法和缺乏简化而不太直观。
  • ** Claude 3.5 Sonnet **很清晰,但增加了额外的细节,例如正面和反面的概率,这对于这个问题来说可能是不必要的。
  • ** GPT-4o **因其清晰、结构化的基于公式的方法而脱颖而出,它直接应用二项式系数并简化术语以提高清晰度。这种方法简单易懂,避免了不必要的复杂性。

结论

Llama 3.3是Llama系列中最强大的版本,开源且功能强大,可利用开源特性进行改进,以适应各公司的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/940811.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux内核网络分层概述

在开发应用时&#xff0c;我们使用 socket 实现网络数据的收发。以tcp为例&#xff0c;server端通过 socket, bind, listen来创建服务端&#xff0c;然后通过 accept接收客户端连接&#xff1b;客户端通过 socket和 connect系统调用来创建客户端。用于数据收发的系统调用包括 s…

【全栈实战】基于 Vue3 + Wot Design Uni 动手封装组件

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f60a;好久没有更新有关前端实战教程了&#xff0c;本文主要讲解【全栈实战】基于 Vue3 Wot Design Uni 动手封装组件&#xff01; &#x1f60a;这个教程你将会学到技术正确的选型、…

Ajax中的axios

既然提到Ajax&#xff0c;那就先来说一说什么是Ajax吧 关于Ajax Ajax的定义 Asynchronous JavaScript And XML&#xff1a;异步的JavaScript和XML。 反正就是一句话总结&#xff1a; 使用XML HttpRequest 对象与服务器进行通讯。 AJAX 是一种在无需重新加载整个网页的情况下&…

60.基于SSM的个人网站的设计与实现(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;个人网站是在MySQL中建立数据表保存信息&#xff0c;运用SSMVue框架和Java语言编写。并按照软件设计开发流程进行设计实现充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SSM的网…

聊聊Flink:Flink的状态管理

一、Flink的状态是什么&#xff1f; 我们知道&#xff0c;Flink的一个算子可能会有多个子任务&#xff0c;每个子任务可能分布在不同的实例&#xff08;即slot&#xff09;上&#xff0c;我们可以把Flink的状态理解为某个算子的子任务在其当前实例上的一个变量&#xff0c;该变…

Idea 将多个module显示在同一个project

Idea 将多个maven项目显示在同一个project下 1、选择菜单 File-》New -》Module from Existing Sources -> 2、在弹出的界面选中对应的Module的pom.xml,然后点击OK按钮就行了 (弹出框上面也提示了Eclipse 项目选中.project文件&#xff1b;Maven 项目选中pom.xml; ) 最终显…

文件解析漏洞中间件(iis和Apache)

IIS解析漏洞 IIS6.X #环境 Windows Server 2003 在iis6.x中&#xff0c;.asp文件夹中的任意文件都会被当做asp文件去执行 在默认网站里创建一个a.asp文件夹并创建一个1.jpg写进我们的asp代码 <%now()%> #asp一句话 <%eval request("h")%> 单独创建一…

gitee别人仓库再上传自己仓库

一、新建一个自己的Git仓库 如果没有注册账号的朋友&#xff0c;可以先去注册一个Gitee的账号&#xff0c;用于管理自己的代码特别好用&#xff01;&#xff01;&#xff01; 接下来就是在gitee上新建一个自己的仓库&#xff0c;如下图所示 二、右建 Git Bush Here删除.git文件…

STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)

导言 Embedded IDE官网:https://em-ide.com/docs/intro 我猜肯定有部分人使用SI Keil开发STM32项目&#xff0c;也有vscode Keil开发STM32程序。SI或vscode编写代码&#xff0c;然后切换Keil编译、下载、调试程序。有一段时间&#xff0c;我也是这么干的。但是&#xff0c;程…

算法的学习笔记—扑克牌顺子(牛客JZ61)

&#x1f600;前言 扑克牌顺子问题是一道趣味性与逻辑性兼备的题目&#xff0c;要求判断五张牌是否能组成顺子&#xff0c;其中大小王&#xff08;癞子&#xff09;可作为任意牌面。癞子的特殊性增加了问题的复杂度&#xff0c;也为解题提供了更多的可能性。通过这一问题&#…

记录遇到的一个新的变种JS加密

源 逻辑分析 混淆代码的目的是隐藏实际逻辑&#xff0c;增加逆向工程的难度。以下是对代码的逐步分析和解读。 第一部分&#xff1a;立即调用的函数表达式 (IIFE) (function () {var _K [...]; // 存储大量字符串的数组 })();​ 1. 目的&#xff1a;这个 IIFE 是整个代码运行…

LeetCode:104.二叉树的最大深度

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;104.二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节…

Fastjson <= 1.2.47 反序列化漏洞复现

0x01 前言 Fastjson 是一个 Java 语言编写的高性能功能完善的 JSON 库&#xff0c;可以将 Java 对象转换为 JSON 格式&#xff0c;也可以将 JSON 字符串转换为 Java 对象&#xff0c;在中国和美国使用较为广泛。 0x02 漏洞成因 Fastjson < 1.2.68 版本在处理反序列化对象时…

python:函数

一、嵌套函数 1.1概念 嵌套函数是定义在另一个函数作用域内部的函数。外部函数可以访问其内部声明的嵌套函数&#xff0c;而嵌套函数则可以访问其外部函数的作用域&#xff08;包括参数和局部变量&#xff09;。 1.2实例 一般情况下&#xff0c;我们是这样书写嵌套函数的&a…

Linux 下的 GPT 和 MBR 分区表详解

文章目录 Linux 下的 GPT 和 MBR 分区表详解一、分区表的作用二、MBR&#xff08;Master Boot Record&#xff09;1. **特点**2. **优点**3. **缺点**4. **适用场景** 三、GPT&#xff08;GUID Partition Table&#xff09;1. **特点**2. **优点**3. **缺点**4. **适用场景** 四…

基于单片机的智能婴儿床监护系统多功能婴儿床摇篮系统

功能介绍 以STM32单片机为控制核心蓝牙传输控制可以进行哭闹检测、尿床检测、音乐播放、语音提醒、哭闹时可以进行摇床有不同的模式自动模式和睡眠模式 实物可做&#xff0c;其他功能也可以 电路图 PCB 源代码 u8 Temperature_High; //室内温度高阈值 u8 Temperature_…

人工智能在VR展览中扮演什么角色?

人工智能&#xff08;AI&#xff09;在VR展览中扮演着多重关键角色&#xff0c;这些角色不仅增强了用户体验&#xff0c;还为展览的组织者提供了强大的工具。 接下来&#xff0c;由专业从事VR展览制作的圆桌3D云展厅平台为大家介绍AI在VR展览中的一些主要作用&#xff1a; 个性…

JVM和数据库面试知识点

JVM内存结构 主要有几部分&#xff1a;堆、栈、方法区和程序计数器 堆是JVM中最大的一块内存区域&#xff0c;用于存储对象实例&#xff0c;一般通过new创建的对象都存放在堆中。堆被所有的线程共享&#xff0c;但是它的访问时线程不安全的&#xff0c;通常通过锁的机制来保证线…

flask-admin+Flask-WTF 实现实现增删改查

背景&#xff1a; flask-adminflask-wtf在网上可以搜索到很多资料&#xff0c;但有价值的很少&#xff0c;或许是太简单&#xff0c;或者是很少人这么用&#xff0c;或者。。。&#xff0c;本文将作者近礼拜摸索到的一点经验分享出来&#xff0c;给自己做个记录。 材料&#…

C++简明教程(文章要求学过一点C语言)(3)

一、编程工具大揭秘——IDE 当我们准备踏入 C 编程的奇妙世界时&#xff0c;首先要认识一个重要的“魔法盒子”——集成开发环境&#xff08;IDE&#xff09;。IDE 就像是一个全能的编程工作室&#xff0c;它把我们写代码所需要的各种工具都整合到了一起&#xff0c;让编程这件…