分类 ML 下的文章

这篇文章翻译自Ollama的博客文章,而文章内容则也是转载,最原始的文章没找到,因此就直接翻译了转载。

文章主要讲通过在 VS Code 或者 JetBrains 中使用 Continue 插件,并配合 Ollama 本地运行的大语言模型,实现在编辑器内使用的 AI 代码助手。主要内容包括1)代码自动补全和聊天、使用嵌入模型实现 @codebase 的 RAG 功能、微调模型并推送 Ollama 以及使用 @docs 功能引用网络内容

注意:文章发表于2024年5月31日,翻译该文的时候 Ollama 和 Continue 以及文章中引用的相关大模型都有不少升级。建议参考文章思路进行有益的尝试。


这是 Continue 联合创始人 Ty Dunn 的一篇客座文章,介绍了如何设置、探索以及找出将 Continue 与 Ollama 结合使用的最佳方法。

ollama-continue.png

Continue 可让您使用开源 LLM 直接在 Visual Studio Code 和 JetBrains 中轻松创建自己的编码助手。所有这些都可以完全在您自己的笔记本电脑上运行,也可以将 Ollama 部署在服务器上,以根据您的需求远程支持代码完成和聊天体验。

您需要安装下列软件以能够继续配置:

一旦您下载并安装好 Continue 和 Ollama,我们建议您探索以下内容

(上面的链接包含安装配置教程,可以参考教程安装,未来可能会有专门文章详细介绍,本文仅限原文翻译)

尝试 Mistral AI 的 Codestral 22B 模型进行自动完成和聊天

到目前为止,Codestral 是我们目前最喜欢的模型,它既能自动完成,又能聊天。该模型展示了 LLM 在编程任务方面的改进。但是,由于它有 22B 参数和非生产许可证,因此需要相当多的 VRAM,只能用于研究和测试目的,因此它可能不是日常本地使用的最佳选择。

  1. 在终端中下载并运行 Codestral 模型:
ollama run codestral
  1. 进入 VS Code,点击 Continue 右下角的齿轮图标打开你的 config.json 并添加

    {
      "models": [
     {
       "title": "Codestral",
       "provider": "ollama",
       "model": "codestral"
     }
      ],
      "tabAutocompleteModel": {
     "title": "Codestral",
     "provider": "ollama",
     "model": "codestral"
      }
    }

    continue-settings-vscode.png

使用 DeepSeek Coder 6.7B 进行自动完成,使用 Llama 3 8B 进行聊天

根据您机器上的 VRAM 容量,您可能能够利用 Ollama 运行多个模型和处理多个并发请求的能力,方法是使用 DeepSeek Coder 6.7B 进行自动完成,使用 Llama 3 8B 进行聊天。如果您的机器无法同时处理这两者,请分别尝试,然后决定您是喜欢本地自动完成还是本地聊天体验。然后,您可以使用远程托管或 SaaS 模型来获得另一种体验。

  1. 在终端中下载并运行 DeepSeek Coder 6.7B,运行方式如下:
ollama run deepseek-coder:6.7b-base
  1. 在另一个终端窗口中下载并运行 Llama 3 8B,运行:
ollama run llama3:8b
  1. 进入 VS Code,点击 Continue 右下角的齿轮图标打开你的 config.json 并添加:
{
  "models": [
    {
      "title": "Llama 3 8B",
      "provider": "ollama",
      "model": "llama3:8b"
    }
  ],
  "tabAutocompleteModel": {
    "title": "DeepSeek Coder 6.7B",
    "provider": "ollama",
    "model": "deepseek-coder:6.7b-base"
  }
}

使用 nomic-embed-text 嵌入和 Ollama 为 @codebase 提供支持

Continue 内置了 @codebase 上下文提供程序,可让您自动从代码库中检索最相关的代码片段。假设您已经设置了聊天模型(例如 Codestral、Llama 3),那么您可以通过 Ollama 和 LanceDB 的嵌入将整个体验保持在本地。截至目前,我们建议使用 nomic-embed-text 嵌入。

  1. 通过运行下面命令,在终端中下载 nomic-embed-text
ollama pull nomic-embed-text
  1. 进入 VS Code,点击 Continue 右下角的齿轮图标打开你的 config.json 并添加:
{
  "embeddingsProvider": {
    "provider": "ollama",
    "model": "nomic-embed-text"
  }
}
  1. 根据代码库的大小,可能需要一些时间进行索引,然后您可以提出问题,重要的代码库部分会自动被找到并在答案中使用(例如“@codebase Llama 3 的默认上下文长度是多少?”)

根据您的开发数据对 StarCoder 2 进行微调并将其推送到 Ollama 模型库

使用 Continue 时,您会自动生成有关如何构建软件的数据。默认情况下,此开发数据会保存到本地计算机上的 .continue/dev_data。当与您最终提交的代码结合时,它可用于改进您或您的团队使用的 LLM(如果您允许)。例如,您可以使用团队接受的自动完成建议来微调 StarCoder 2 等模型,以便为您提供更好的建议。

  1. 将“已接受的标签建议”提取并加载到 Hugging Face 数据集中
  2. 使用 Hugging Face 监督微调训练器对 StarCoder 2 进行微调
  3. 将模型推送到 Ollama 模型库,供您的团队使用并衡量您的接受率如何变化

通过使用 @docs 在 Continue 的帮助下提问,了解有关 Ollama 的更多信息

Continue 还内置了 @docs 上下文提供程序,可让您索引和检索来自任何文档站点的片段。假设您已经设置了聊天模型(例如 Codestral、Llama 3),您可以通过提供 GitHub 上的 Ollama README 链接并提出问题以了解更多信息,从而将整个体验保持在本地。

  1. 在聊天侧栏中输入 @docs,选择“添加文档”,将“https://github.com/ollama/ollama”复制并粘贴到 URL 字段中,然后在标题字段中输入“Ollama”
  2. 它应该可以快速索引 Ollama README,然后您可以向它提问,它会自动找到重要部分并将其用于答案中(例如“@Ollama 我如何运行 Llama 3?”)

这篇文章是机器学习常用基本算法文章的一个索引,具体可以参见具体的文章链接
文章状态 alpha

  1. 决策树 Decision Tree
  2. 随机森林 Random Forest
  3. 逻辑回归 Logistic Regression
  4. 支持向量机 SVM
  5. 朴素贝叶斯
  6. K最近邻算法
  7. K均值算法
  8. Adaboost 算法
  9. 神经网络
  10. 马尔可夫

参考

  1. Kaggle: Learning Machine Learning
  2. CSDN: 轻松看懂机器学习十大常用算法
  3. 伯乐在线: 10 种机器学习算法的要点 (3的翻译)
  4. Essentials of Machine Learning Algorithms
  5. A Tour of The Top 10 Algorithms for Machine Learning Newbies

数据科学是一门跨学科的专业,在「大数据」的背景(噱头)下,看起来很有前途

根据Drew Conway给出的数据科学的一个文氏图,可以看出数据科学是Hacking Skills, Math & Statistics Knowledge 以及Substantive Expertise的大交集。

  ![Data_Science_VD.png][2]

要学习数据科学,路上认为可以从上面的文氏图来推算应该的学习内容,它们应该包括:

  1. Hacking Skills (计算机知识)

    • 基本的编程语言和与数据处理相关的包/框架,例如python语言
    • 数据处理框架,比如处理大数据的利器:Hadoop
  2. Math & Statistics Knowledge (数理统计知识)

    • 统计学(概率统计)
    • (机器)学习理论
  3. 数据科学综合知识

    • 数据挖掘等