AI行业在两个强大的哲学之间进行了分配 - 开源民主化和专有创新。由Allenai开发的Olmo 2(开放语言模型2)代表了透明AI开发的巅峰之作,可以完全访问其体系结构和培训数据。相比之下,Anthropic的旗舰模型Claude 3.5十四行诗优先考虑商业级编码功能和闭门造车的多模式推理。
本文介入其技术体系结构,用例和实际工作流程中,并附有代码示例和数据集参考。无论您是构建启动聊天机器人还是扩展企业解决方案,本指南都将帮助您做出明智的选择。
学习目标
>了解设计选择(例如RMSNORM,旋转嵌入)如何影响Olmo 2和Claude 3.5十四行诗中的训练稳定性和性能。
> > data Science Blogathon的一部分。 目录的> olmo 2:一个完全开放的自动回归模型
>
> Olmo 2是一种完全开源的自回归语言模型,在包含5万亿代币的巨大数据集中训练。它的重量,培训数据和源代码赋予了研究人员和开发人员的能力,以重现结果,尝试培训过程并建立其创新架构。
ofolmo 2的关键建筑创新是什么?
两阶段的课程培训:
该模型最初是在Dolmino Mix-1124数据集中训练的,这是一种旨在涵盖各种语言模式和下游任务的大型且多样的语料库。接下来是第二阶段,培训侧重于特定于任务的微调。这些建筑和培训策略结合在一起,创建了一个模型,不仅表现出色,而且适应性和适应性,这是学术研究和实际应用的真正资产。
标准 Olmo 2 OLMO2对于重量的任务来说,成本效益大约是4倍,使其非常适合注重预算意识的项目。请注意,由于Olmo2是一种开放式源模型,因此没有固定的人口许可费,因此其成本取决于您的自我安置计算资源。相比之下,拟人的API速率设定了Claude 3.5十四行诗的价格。 有Ollama后,安装必要的Python软件包
如何访问Claude 3.5 SONNET API? >单击创建键并命名您的密钥。单击添加。
使用olmo2和Claude 3.5 SonnetModels用于以下任务。 提示:“给我代码来计算nth fibonacci编号。
b)claudesonnet3.5响应
“提示:生成一个使用matplotlib和seaborn的Python脚本来产生充满活力的散点图,显示了两个变量之间的关系。该图应包括清晰的轴标签,描述性标题和不同的颜色,以区分数据点。
a)olmo 2响应:
您可以找到代码响应。
b)claudesonnet3.5响应: a)olmo 2响应: 战略决策框架:Olmo 2 vs. Claude 3.5十四行诗 > Q1。 Olmo 2可以通过足够的微调来匹配Claude 3.5十四行诗的准确性?在狭窄的域(例如,法律文件)中,是的。对于通用任务,Claude的140B参数保留了边缘。模型如何处理非英语语言? Claude 3.5十四行诗本地支持50种语言。 Olmo 2主要集中在英语上,但可以对多语言任务进行微调。>克劳德3.5十四行诗:以道德和以编码为中心的应用程序的封闭资源
与Olmo2的开放哲学相反,Claude3.5 SONNet是针对专业任务进行了优化的封闭源模型,尤其是在编码和确保道德上合理的输出方面。它的设计反映了绩效和负责任的部署之间的仔细平衡。
> claude 3.5sonnet
模型访问
拥抱面上可用的全重量
仅api formy访问
微调
可通过pytorch 自定义
限制到及时工程
推理速度
12令牌/秒(A100 GPU)
30令牌/秒(API)
Olmo 2 vs. Claude 3.5十四行诗的定价比较成本
免费(自主)
$ 15/百万令牌
>访问Olmo 2型号和Claude 3.5十四行诗API
如何在本地运行Ollama(Olmo 2)模型?
>访问官方的Ollama存储库或网站,以下载安装程序 - Here。
pip install ollama
ollama run olmo2:7b
import ollama
def generate_with_olmo(prompt, n_predict=1000):
"""
Generate text using Ollama's Olmo 2 model (streaming version),
controlling the number of tokens with n_predict.
"""
full_text = []
try:
for chunk in ollama.generate(
model='olmo2:7b',
prompt=prompt,
options={"n_predict": n_predict},
stream=True
):
full_text.append(chunk["response"])
return "".join(full_text)
except Exception as e:
return f"Error with Ollama API: {str(e)}"
if __name__ == "__main__":
output = generate_with_olmo("Explain the concept of quantum computing in simple terms.")
print("Olmo 2 Response:", output)
pip install anthropic
import anthropic
from anthropic import Anthropic
# Create an instance of the Anthropic API client
client = Anthropic(api_key='your-api-key')
def generate_with_claude(prompt, max_tokens=1000):
"""
Generate text using Claude 3.5 API
"""
try:
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=max_tokens,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return message.content
except Exception as e:
return f"Error with Claude API: {str(e)}"
if __name__ == "__main__":
output = generate_with_claude("Explain the concept of quantum computing in simple terms.")
print("Claude 3.5 Sonnet Response:", output)
>
:
def fibonacci_optimized(n):
if n <= 0:
return "Input must be a positive integer."
fib_0, fib_1 = 0, 1
for i in range(2, n+1):
fib_i = fib_0 + fib_1
fib_0, fib_1 = fib_1, fib_i
return fib_i
# Example usage:
print(fibonacci_optimized(10)) # Output: 55
>
>任务2:绘制散点图
>
b)claudesonnet3.5响应:
Insights
>任务3:代码翻译
>
提示:“将此Java方法转换为python代码,同时保持等效功能:>
a)olmo 2响应:pip install ollama
:
ollama run olmo2:7b
任务4:优化效率低下的代码
import ollama
def generate_with_olmo(prompt, n_predict=1000):
"""
Generate text using Ollama's Olmo 2 model (streaming version),
controlling the number of tokens with n_predict.
"""
full_text = []
try:
for chunk in ollama.generate(
model='olmo2:7b',
prompt=prompt,
options={"n_predict": n_predict},
stream=True
):
full_text.append(chunk["response"])
return "".join(full_text)
except Exception as e:
return f"Error with Ollama API: {str(e)}"
if __name__ == "__main__":
output = generate_with_olmo("Explain the concept of quantum computing in simple terms.")
print("Olmo 2 Response:", output)
提示:“优化以下python函数以降低时间复杂性。>
b)claudesonnet3.5响应:pip install anthropic
Olmo 2的
> olmo 2,从而导致潜在的冗余。 Claude Sonnet 3.5通过将重复项存储在集合中,并将其转换回列表,从而提高效率并避免不必要的操作,从而进一步优化。克劳德(Claude)的方法更加干净,可确保时间更复杂,同时保持正确性。import anthropic
from anthropic import Anthropic
# Create an instance of the Anthropic API client
client = Anthropic(api_key='your-api-key')
def generate_with_claude(prompt, max_tokens=1000):
"""
Generate text using Claude 3.5 API
"""
try:
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=max_tokens,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return message.content
except Exception as e:
return f"Error with Claude API: {str(e)}"
if __name__ == "__main__":
output = generate_with_claude("Explain the concept of quantum computing in simple terms.")
print("Claude 3.5 Sonnet Response:", output)
任务5:代码调试
def fibonacci_optimized(n):
if n <= 0:
return "Input must be a positive integer."
fib_0, fib_1 = 0, 1
for i in range(2, n+1):
fib_i = fib_0 + fib_1
fib_0, fib_1 = fib_1, fib_i
return fib_i
# Example usage:
print(fibonacci_optimized(10)) # Output: 55
提示:“以下是一个python脚本,可以计算一个数字的阶乘,但其中包含错误。识别并纠正错误,以确保其返回任何正整数的正确阶乘:
pip install ollama
a)olmo 2响应:
ollama run olmo2:7b
b)claudesonnet3.5响应:
import ollama
def generate_with_olmo(prompt, n_predict=1000):
"""
Generate text using Ollama's Olmo 2 model (streaming version),
controlling the number of tokens with n_predict.
"""
full_text = []
try:
for chunk in ollama.generate(
model='olmo2:7b',
prompt=prompt,
options={"n_predict": n_predict},
stream=True
):
full_text.append(chunk["response"])
return "".join(full_text)
except Exception as e:
return f"Error with Ollama API: {str(e)}"
if __name__ == "__main__":
output = generate_with_olmo("Explain the concept of quantum computing in simple terms.")
print("Olmo 2 Response:", output)
> olmo 2正确修复了阶乘函数的递归步骤,但缺乏输入验证。 Claude Sonnet 3.5不仅纠正了递归,还包括输入验证以处理负数和非授权输入,使其更强大。 Claude的解决方案更彻底,适合现实世界应用。
何时选择Olmo 2?
>预算约束的项目:免费自我托管与API费
>企业级编码:复杂的代码生成/重构
>多模式要求:现场服务器上的图像和文本处理需求。
钥匙要点
以上是Olmo 2对Claude 3.5十四行诗:哪个更好?的详细内容。更多信息请关注PHP中文网其他相关文章!