Meta的新模型Llama 3.3 70B是一个真正的GPT-4级别的大型语言模型,它可以在我的笔记本电脑上运行。
仅仅在20个月前,我还在为能在同一台机器上运行感觉达到GPT-3级别的模型而感到惊讶。在过去的两年里,能够在消费级硬件上访问的模型质量有了巨大的提升。
我的笔记本电脑是一台64GB的MacBook Pro M2,我在2023年1月购买的——这是在ChatGPT最初发布两个月后。我所有在笔记本电脑上运行大型语言模型(LLM)的实验都使用了这台机器。
How I ran Llama 3.3 70B on my machine using Ollama
我不认为这个模型在少于我64GB的RAM下能很好地工作。我第一次尝试时,它消耗了所有剩余的可用内存,导致我的Mac崩溃了!第二次尝试时,我确保不要同时运行Firefox和VS Code,它就正常工作了。
我使用了Ollama。安装它,然后运行这个命令来获取模型:
ollama pull llama3.3
这将42GB的数据获取到我的~/.ollama/models/blobs
目录中。
我使用我的LLM工具来运行提示,因为这样既可以自动将提示和响应记录到SQLite数据库中。首先我安装了llm-ollama插件:
llm install llm-ollama
然后在Ollama本地服务器运行的情况下,我可以运行这个命令:
llm models
并在列表中看到:
Ollama: llama3.3:latest (别名:lamma3.3)
Putting the model through its paces
这意味着我可以这样运行提示:
llm -m llama3.3 'Write a letter to the mayor of Half Moon Bay CA advocating for the installation of cosy boxes for Pelicans in the harbor'
并得到这样的回应开头:
[Your Name]
[Your Address]
Half Moon Bay, CA [Zip Code]
[Email Address]
[Phone Number]
[Date]
The Honorable Mayor, Deborah Penrose
City of Half Moon Bay
501 Main Street
Half Moon Bay, CA 94019
Dear Mayor Penrose,
I am writing to propose an innovative and unique initiative that would not only enhance the beauty of our picturesque harbor but also provide a safe haven for one of our beloved coastal residents: the California Brown Pelican. I am excited to advocate for the installation of cozy boxes specifically designed for pelicans in the Half Moon Bay harbor. [...]
(Deborah Penrose在2016年12月至2017年12月担任Half Moon Bay市长一年——所以这里有一些相当精细的世界知识,即使它与当前无关。)
这是完整的记录,包括我运行后续命令llm -c 'translate that to spanish'
得到回应的记录。
接下来,我尝试了一个简单的编程挑战。我喜欢使用Claude Artifacts构建简单的单页应用程序,我的笔记本电脑上的Llama 3.3也能做到吗?
llm -m llama3.3 'produce HTML with embedded CSS and JavaScript - no react, no dependencies - for an app that takes a URL to a YouTube video and outputs images along with visible URLs for all known thumbnails for that video'
这是它产生的代码(完整的记录在这里):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>YouTube Thumbnail Extractor</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
#thumbnails {
display: flex;
flex-wrap: wrap;
}
.thumbnail {
margin: 10px;
}
img {
max-width: 150px;
max-height: 150px;
object-fit: cover;
}
</style>
</head>
<body>
<h2>YouTube Thumbnail Extractor</h2>
<input type="text" id="youtubeUrl" placeholder="Enter YouTube video URL">
<button onclick="extractThumbnails()">Extract Thumbnails</button>
<div id="thumbnails"></div>
<script>
function extractThumbnails() {
const youtubeUrl = document.getElementById('youtubeUrl').value;
const videoId = getYoutubeVideoId(youtubeUrl);
if (!videoId) {
alert("Could not parse YouTube video ID from the URL.");
return;
}
const thumbnailSizes = ['default', 'mqdefault', 'hqdefault', 'sddefault', 'maxresdefault'];
const thumbnailsDiv = document.getElementById('thumbnails');
thumbnailsDiv.innerHTML = ''; // Clear previous results
thumbnailSizes.forEach(size => {
const thumbnailUrl = `https://img.youtube/vi/${videoId}/${size}.jpg`;
const img = document.createElement('img');
img.src = thumbnailUrl;
img.alt = `${size} thumbnail`;
img.className = 'thumbnail';
const link = document.createElement('a');
link.href = thumbnailUrl;
link.text = size;
link.style.display = 'block';
const div = document.createElement('div');
div.appendChild(img);
div.appendChild(link);
thumbnailsDiv.appendChild(div);
});
}
function getYoutubeVideoId(url) {
const regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/;
const match = url.match(regExp);
return (match && match[7].length == 11) ? match[7] : false;
}
</script>
</body>
</html>
再次强调,这里展示了一些世界知识:它知道YouTube视频通常有default(默认)、mqdefault(中等质量默认)、hqdefault(高清晰度默认)、sddefault(标准清晰度默认)和maxresdefault(最大分辨率默认)这些不同的缩略图版本。
虽然它没有我和Claude迭代过的版本那么好,但这仍然表明Llama3.3能够在运行在我的Mac上的同时,一次性生成一个完整的交互式应用程序。
How does it score?
对于这类模型,检查独立的基准测试总是很有用。
我目前最喜欢的一个基准测试是LiveBench,它自称为“一个具有挑战性、无污染的大型语言模型(LLM)基准测试”,并且用一系列不同的任务测试了大量的模型。
在他们的表格中,llama-3.3-70b-instruct-turbo目前排在第19位,这个位置领先于2024年3月发布后我最喜欢的几个模型之一的Claude3Opus,并且紧随4月的GPT-4 Turbo和9月的GPT-4o之后。
值得指出的是,这个排名是基于多个评估的平均值进行排序的,而Llama 3.3 70B在“IF”(指令遵循)评估中不知何故目前得分位居榜首,这可能影响了平均值。
Honorable mentions
Llama 3.3是目前我在自己硬件上运行过的模型中给我留下最深刻印象的,但最近我还有许多其他积极的体验。
上个月我写了关于Qwen2.5-Coder-32B的介绍,这是阿里巴巴Qwen研究团队推出的一个Apache 2.0许可的模型,它在代码方面也给了我令人印象深刻的结果。
几周前,我尝试了另一个Qwen模型,QwQ,它实现了与OpenAI的o1系列类似的思维链模式,但同样可以在我的设备上舒适地运行。
Meta的Llama 3.2系列模型也很有趣:微小的1B和3B模型(那些甚至应该能在树莓派上运行),它们的能力远超我的预期——加上Meta首次推出的多模态视觉模型,大小分别为11B和90B。我在九月份写了关于这些的内容。
Is performance about to plateau?
我对围绕大型语言模型(LLM)达到平台期的持续讨论大多持怀疑态度。我个人最兴奋的领域是多模态(将图像、音频和视频作为输入)和模型效率。这两方面在过去一年中都取得了巨大的飞跃。
我并不特别关心“人工通用智能(AGI)”。我希望模型能够快速且经济地完成我要求它们做的有用事情——这正是我在过去十二个月中越来越多地得到的。
即使这些工具的进步现在完全停止,我仅凭已经下载并存储在U盘上的模型,就足以让我忙碌且高效地工作多年。
Bonus: running Llama 3.3 70B with MLX
我在这篇文章中专注于Ollama,因为它是最简单的选项,但我也设法使用苹果出色的MLX库运行了一个Llama3.3的版本,MLX库刚刚庆祝了它的一周年。
以下是我如何使用MLX和uv来启动一个临时虚拟环境来运行模型的方法:
uv run --with mlx-lm --python 3.12 python
这给了我一个Python解释器,其中mlx-lm是可用的。然后我运行了这个命令:
prompt = "Generate an SVG of a pelican riding a bicycle, start with <svg>"messages = [{"role": "user", "content": prompt}]
prompt2 = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
response = generate(
model, tokenizer, prompt=prompt2, verbose=True
)
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来
,需要的小伙伴可以扫取。
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI大模型视频教程
三、AI大模型各大学习书籍
四、AI大模型各大场景实战案例
五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。
Meta的新模型Llama 3.3 70B是一个真正的GPT-4级别的大型语言模型,它可以在我的笔记本电脑上运行。
仅仅在20个月前,我还在为能在同一台机器上运行感觉达到GPT-3级别的模型而感到惊讶。在过去的两年里,能够在消费级硬件上访问的模型质量有了巨大的提升。
我的笔记本电脑是一台64GB的MacBook Pro M2,我在2023年1月购买的——这是在ChatGPT最初发布两个月后。我所有在笔记本电脑上运行大型语言模型(LLM)的实验都使用了这台机器。
How I ran Llama 3.3 70B on my machine using Ollama
我不认为这个模型在少于我64GB的RAM下能很好地工作。我第一次尝试时,它消耗了所有剩余的可用内存,导致我的Mac崩溃了!第二次尝试时,我确保不要同时运行Firefox和VS Code,它就正常工作了。
我使用了Ollama。安装它,然后运行这个命令来获取模型:
ollama pull llama3.3
这将42GB的数据获取到我的~/.ollama/models/blobs
目录中。
我使用我的LLM工具来运行提示,因为这样既可以自动将提示和响应记录到SQLite数据库中。首先我安装了llm-ollama插件:
llm install llm-ollama
然后在Ollama本地服务器运行的情况下,我可以运行这个命令:
llm models
并在列表中看到:
Ollama: llama3.3:latest (别名:lamma3.3)
Putting the model through its paces
这意味着我可以这样运行提示:
llm -m llama3.3 'Write a letter to the mayor of Half Moon Bay CA advocating for the installation of cosy boxes for Pelicans in the harbor'
并得到这样的回应开头:
[Your Name]
[Your Address]
Half Moon Bay, CA [Zip Code]
[Email Address]
[Phone Number]
[Date]
The Honorable Mayor, Deborah Penrose
City of Half Moon Bay
501 Main Street
Half Moon Bay, CA 94019
Dear Mayor Penrose,
I am writing to propose an innovative and unique initiative that would not only enhance the beauty of our picturesque harbor but also provide a safe haven for one of our beloved coastal residents: the California Brown Pelican. I am excited to advocate for the installation of cozy boxes specifically designed for pelicans in the Half Moon Bay harbor. [...]
(Deborah Penrose在2016年12月至2017年12月担任Half Moon Bay市长一年——所以这里有一些相当精细的世界知识,即使它与当前无关。)
这是完整的记录,包括我运行后续命令llm -c 'translate that to spanish'
得到回应的记录。
接下来,我尝试了一个简单的编程挑战。我喜欢使用Claude Artifacts构建简单的单页应用程序,我的笔记本电脑上的Llama 3.3也能做到吗?
llm -m llama3.3 'produce HTML with embedded CSS and JavaScript - no react, no dependencies - for an app that takes a URL to a YouTube video and outputs images along with visible URLs for all known thumbnails for that video'
这是它产生的代码(完整的记录在这里):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>YouTube Thumbnail Extractor</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
#thumbnails {
display: flex;
flex-wrap: wrap;
}
.thumbnail {
margin: 10px;
}
img {
max-width: 150px;
max-height: 150px;
object-fit: cover;
}
</style>
</head>
<body>
<h2>YouTube Thumbnail Extractor</h2>
<input type="text" id="youtubeUrl" placeholder="Enter YouTube video URL">
<button onclick="extractThumbnails()">Extract Thumbnails</button>
<div id="thumbnails"></div>
<script>
function extractThumbnails() {
const youtubeUrl = document.getElementById('youtubeUrl').value;
const videoId = getYoutubeVideoId(youtubeUrl);
if (!videoId) {
alert("Could not parse YouTube video ID from the URL.");
return;
}
const thumbnailSizes = ['default', 'mqdefault', 'hqdefault', 'sddefault', 'maxresdefault'];
const thumbnailsDiv = document.getElementById('thumbnails');
thumbnailsDiv.innerHTML = ''; // Clear previous results
thumbnailSizes.forEach(size => {
const thumbnailUrl = `https://img.youtube/vi/${videoId}/${size}.jpg`;
const img = document.createElement('img');
img.src = thumbnailUrl;
img.alt = `${size} thumbnail`;
img.className = 'thumbnail';
const link = document.createElement('a');
link.href = thumbnailUrl;
link.text = size;
link.style.display = 'block';
const div = document.createElement('div');
div.appendChild(img);
div.appendChild(link);
thumbnailsDiv.appendChild(div);
});
}
function getYoutubeVideoId(url) {
const regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/;
const match = url.match(regExp);
return (match && match[7].length == 11) ? match[7] : false;
}
</script>
</body>
</html>
再次强调,这里展示了一些世界知识:它知道YouTube视频通常有default(默认)、mqdefault(中等质量默认)、hqdefault(高清晰度默认)、sddefault(标准清晰度默认)和maxresdefault(最大分辨率默认)这些不同的缩略图版本。
虽然它没有我和Claude迭代过的版本那么好,但这仍然表明Llama3.3能够在运行在我的Mac上的同时,一次性生成一个完整的交互式应用程序。
How does it score?
对于这类模型,检查独立的基准测试总是很有用。
我目前最喜欢的一个基准测试是LiveBench,它自称为“一个具有挑战性、无污染的大型语言模型(LLM)基准测试”,并且用一系列不同的任务测试了大量的模型。
在他们的表格中,llama-3.3-70b-instruct-turbo目前排在第19位,这个位置领先于2024年3月发布后我最喜欢的几个模型之一的Claude3Opus,并且紧随4月的GPT-4 Turbo和9月的GPT-4o之后。
值得指出的是,这个排名是基于多个评估的平均值进行排序的,而Llama 3.3 70B在“IF”(指令遵循)评估中不知何故目前得分位居榜首,这可能影响了平均值。
Honorable mentions
Llama 3.3是目前我在自己硬件上运行过的模型中给我留下最深刻印象的,但最近我还有许多其他积极的体验。
上个月我写了关于Qwen2.5-Coder-32B的介绍,这是阿里巴巴Qwen研究团队推出的一个Apache 2.0许可的模型,它在代码方面也给了我令人印象深刻的结果。
几周前,我尝试了另一个Qwen模型,QwQ,它实现了与OpenAI的o1系列类似的思维链模式,但同样可以在我的设备上舒适地运行。
Meta的Llama 3.2系列模型也很有趣:微小的1B和3B模型(那些甚至应该能在树莓派上运行),它们的能力远超我的预期——加上Meta首次推出的多模态视觉模型,大小分别为11B和90B。我在九月份写了关于这些的内容。
Is performance about to plateau?
我对围绕大型语言模型(LLM)达到平台期的持续讨论大多持怀疑态度。我个人最兴奋的领域是多模态(将图像、音频和视频作为输入)和模型效率。这两方面在过去一年中都取得了巨大的飞跃。
我并不特别关心“人工通用智能(AGI)”。我希望模型能够快速且经济地完成我要求它们做的有用事情——这正是我在过去十二个月中越来越多地得到的。
即使这些工具的进步现在完全停止,我仅凭已经下载并存储在U盘上的模型,就足以让我忙碌且高效地工作多年。
Bonus: running Llama 3.3 70B with MLX
我在这篇文章中专注于Ollama,因为它是最简单的选项,但我也设法使用苹果出色的MLX库运行了一个Llama3.3的版本,MLX库刚刚庆祝了它的一周年。
以下是我如何使用MLX和uv来启动一个临时虚拟环境来运行模型的方法:
uv run --with mlx-lm --python 3.12 python
这给了我一个Python解释器,其中mlx-lm是可用的。然后我运行了这个命令:
prompt = "Generate an SVG of a pelican riding a bicycle, start with <svg>"messages = [{"role": "user", "content": prompt}]
prompt2 = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
response = generate(
model, tokenizer, prompt=prompt2, verbose=True
)
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来
,需要的小伙伴可以扫取。
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI大模型视频教程
三、AI大模型各大学习书籍
四、AI大模型各大场景实战案例
五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。