拥抱AI时代的到来:工具及概念介绍

The greatest gift of life is friendship, and I have received it.
— Hubert Humphrey

前言

我一向习惯于先动手尝试新事物,后续根据需要再进行大概的了解,AI方面也不例外。AI 如今已经渐渐融入了我的生活,但我甚至并不知道相关的AI基本概念到底是什么意思,这对我来说太被动了,AI的时代已经到来了 ,我觉得我应该主动拥抱它的到来,这样我才能更好的掌控它。

本文会先介绍我在生活中对AI的使用,后续会介绍一些AI相关的基本概念,这能帮助我们一直紧跟前沿,而这些基本概念大都源于对以下两个网站:

  1. ollma library
  2. Models - Top Weekly | OpenRouter

如果你觉的这些AI基本概念比较无聊,你也可以忽略它们(当然我并不建议这么做)。

将AI 融入生活

在此之前,先介绍一下我的电脑配置:

  • MacOS + M1 Pro 32G

另外我对这个章节进行了分类,你可以选择需要的场景进行尝试使用。

Write: Obsidian

使用 GitHub - logancyang/obsidian-copilot: A ChatGPT Copilot in Obsidian

使用场景及特点:

  1. 将文字翻译成英文,这就不需要复制到AI网站。
  2. 内容扩写
  3. ….
  4. 支持本地化的LLM,如Ollama

例子:使用 Emojify selection 的 GIF
20240625005146_rec_.gif

More:

  1. video: Introducing Copilot for Obsidian - YouTube
  2. doc: Copilot for Obsidian | Obsidian Copilot

Code: VSCode

使用插件: GitHub - continuedev/continue: ⏩

使用场景及特点::

  1. 解释代码
  2. 代码补全
  3. ….
  4. 支持本地化的LLM,如Ollama
  5. Jetbrain 等IDE可以使用

20240625012339_rec_.gif

More:

  1. doc: 💻 Introduction | Continue

Browse: Chrome

ChatGPTBox

使用场景:

  1. 针对chrome搜索,给予我回答
  2. 针对网页、视频进行总结

以Gemini为例:

  1. 搜索问题
    image.png

  2. 视频总结
    image.png

Page Assist - A Web UI for Local AI Models

使用场景:

  1. 支持本地化的LLM,如Ollama
  2. 针对文章支持提问等场景

image.png

Mail and Notes

参考:System-wide text summarization using Ollama and AppleScript 进行设置

PS:当你第一次使用,可以提前运行以下语句安装模型。至于如何安装ollama,在下文将会介绍。

1
ollama run mistral

使用场景及特点:

  1. Your notes, email
  2. 使用本地化的LLM,如Ollama

image.png

Mobile(ios) browse

手机端我偶尔会使用 arc 浏览器进行搜索,最主要利用两个功能:

  1. Summarize entire pages with a pinch:Get the gist, in a pinch. Pinch to Summarize, now available in Arc Search - YouTube
  2. Browses for you:Arc Search for iPhone | The fastest way to search - YouTube

模型选择

非本地模型

ChatGPT、Claude.ai、Bing、Gemini、Poe、OpenRouter 等等,你都可以尝试使用,网上大部分AI相关内容都是介绍它们,我就不过多赘述了。

本地模型

ollama

GitHub - ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models.

ollama 作为一个开源大语言模型服务工具,提供了模型下载、管理、推理一体化的功能,并且其可以作为服务端提供 API 供其他程序调用,当前有着非常繁荣的生态。

ollma 的模型文件在: ~/.ollama/models,通过命令可以发现位置:

1
ollama show starcoder2:3b --modelfile

安装等其他命令可以查看,例如:

1
2
ollama -h
ollama run -h

使用ollama下载第一个模型,肯定是 llama3,这里是介绍:Introducing Meta Llama 3: The most capable openly available LLM to date

LM studio

LM Studio - Discover, download, and run local LLMs

ollama 很不错但是对于普通用户来说使用起来还是太麻烦,而 LM Studio 工具是一个自带 UI,开箱即用的工具,但是注意其并不开源,当前免费使用

LM Studio 支持查找模型、下载、管理、推理运行一体的工具,不仅仅支持 Chat,还提供多模型会话以及 Local LLM Server

LLM 的模型目录在:~/.cache/lm-studio/models/。

我尝试过,使用起来感觉不错,但是我的电脑运行起来有些吃力,所以很少使用。

AI 基本概念

首先感谢你读到这里,作为一名程序员,我的AI应用场景基本上就是这些,这些工具显著得提升了我的生产力,希望对你也有帮助。

如果你是第一次使用我介绍的AI工具,相信你在安装使用过程中一定有一个疑问,我该安装什么模型呢?

这需要你了解相关概念,然后根据自身需要进行判断。

LLM & Prompting

Large language model - Wikipedia,大家应该都有所了解,不多介绍。我们可以在本地运行并使用的模型主要是 Llama,其由 Meta 提供, Llama2 和 Llama3 是继任者。当然这方面也涌现了挑战者,比如:Mistral AI | Frontier AI in your hands

Prompt engineering - Wikipedia, prompt engineering is a promising technique that has the potential to revolutionize the way we interact with LLMs.

Prompting | How-to guides提供了更深入的介绍。建议阅读完毕并结合自己的需求动手尝试。

Parameters

原文信息:available in both 8B and 70B parameter sizes

「B」表示 billions of parameters 即十亿参数单位,通常认为参数越多模型的效果则会越好,如下图 Llama3 提供了 8B、70B 尺寸的模型:

image.png

Quantization

名词来源:quantization Q4_0

如果一个全尺寸模型使用每个参数占用 2 个字节的存储(通常指的是 16 位浮点数或 FP16 表示)这意味着 3B 模型的实际大小是 6GB。如果将上述 3B 参数模型从 FP16(2字节)量化到 8-bit(1字节),则存储会进一步减少为 3GB。

这里的8-bit就是Q8,原文里的Q4应该就是指量化到 4-bit,还用上面的例子,使用Q4技术,存储会进一步减少为1.5GB。

Quantization | How-to guides

Fine-Tuning

原文信息:Llama 3 instruction-tuned models are fine-tuned and optimized for dialogue/chat use cases

Fine-tuning(微调)是深度学习和机器学习中的一种技术,它涉及在预训练模型的基础上进行进一步训练,以适应特定任务或数据集。这个过程通常需要较少的计算资源和时间,因为预训练模型已经学到了大量的通用特征,微调只需在这些基础上进行少量调整。

Fine-tuning | How-to guides

Context

原文信息:200,000 context

它指的是模型在生成响应或进行预测时所考虑的输入信息范围。由于 LLM 是无状态保留的,它不会记得历史对话,因此你需要将历史对话都要输入给它才能使其理解并给出正确的回复。具体来说,”context” 可以理解为模型在处理某个任务时所能看到的文本片段或信息范围。

例如,语言模型有一个固定的“上下文窗口”大小,这决定了模型可以处理的最大输入长度。对于 GPT-3 等模型,这个上下文窗口可能是 2048 个 token 或更多。这意味着模型在生成响应时只能考虑窗口内的 token。

Others: temperature、top_p、top_k…

参考:Mistral: Mistral 7B Instruct – Recommended Parameters | OpenRouter

image.png

总结

首先有一个为你准备的问题,你对上面的概念有了第一印象吗?如果没有的话,现在你完全可以自己利用AI进行学习了,相信我,动起手来你会理解地更深一层。

本文主要做了一些科普和信息汇总工作,两个方面:

  • 我使用的一些开箱即用的AI工具
  • 一些简单的AI基本概念

我希望这能帮助你选用合适的模型,更好的让AI为你服务。如果能帮助你对AI产生更多兴趣,并且能紧跟着AI的浪潮,那就更好了。

另外,不知道你注意到没有,上文中的大部分场景下都可以使用自己的本地模型,如Ollama,这可以帮助我们保护隐私,太棒了!

我认为这将是以后的发展趋势,不久的将来一定会有一个为你量身定做的本地化AI,让我们一起期待!

More

  1. 不同厂商的 AI 模型各有什么擅长领域?
  2. 关注 AI 新闻,AI当前的发展现状
  3. 调用AI 厂商的API接口进行代码开发
  4. ….

Have fun !!!

References

System-wide text summarization using Ollama and AppleScript

English post: https://programmerscareer.com/use-llm-local/
作者:Wesley Wei – Twitter Wesley Wei – Medium
注意:原文在 2024-06-23 19:19 时创作于 https://programmerscareer.com/use-llm-local/. 本文为作者原创,转载请注明出处。

golang中你应该知道的指针知识 golang 中你应该知道的时间控制

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×