opensearch-project/ml-commons
GitHub: opensearch-project/ml-commons
该项目为 OpenSearch 提供内置的通用机器学习算法库与任务管理框架,使开发者无需导出数据即可在集群内完成模型训练与推理。
Stars: 154 | Forks: 216
[](https://github.com/opensearch-project/ml-commons/actions)
[](https://codecov.io/gh/opensearch-project/ml-commons)
[](https://opensearch.org/docs/latest/ml-commons-plugin/api/)
[](https://forum.opensearch.org/c/plugins/ml/46)

- [OpenSearch Machine Learning Commons](#opensearch-machine-learning-commons)
- [贡献](#contributing)
- [行为准则](#code-of-conduct)
- [安全](#security)
- [许可证](#license)
- [版权](#copyright)
## OpenSearch Machine Learning Commons
OpenSearch 的 Machine Learning Commons 是一个新的解决方案,旨在让开发新的机器学习功能变得更加容易。它允许工程师利用现有的开源机器学习算法,并减少构建任何新机器学习功能的工作量。它还免去了工程师管理机器学习任务的必要性,这将有助于加快功能开发过程。
### 问题陈述
直到今天,在 OpenSearch 内部构建一个新的机器学习功能仍然面临着巨大的挑战。原因包括:
* **对 OpenSearch 核心功能的干扰。** 机器学习的计算量非常大。但是目前在 OpenSearch 中没有办法为机器学习作业添加专用的计算资源,因此这些作业必须与核心功能(例如:索引和搜索)共享相同的资源。这可能会导致搜索请求的延迟增加,并导致内存使用出现断路器异常。为了解决这个问题,我们必须仔细地分发模型并限制运行 AD 作业的数据大小。当越来越多的 ML 功能被添加到 OpenSearch 中时,管理起来将会变得更加困难。
* **缺乏对机器学习算法的支持。** 客户需要 OpenSearch 内提供更多的算法,否则需要将数据导出到 OpenSearch 之外,例如先存入 s3 才能执行作业,这将带来额外的成本和延迟。
* **缺乏在多个机器学习作业之间的资源管理机制。** 很难在多个功能之间协调资源。
与此同时,我们观察到越来越多的机器学习功能需要在 OpenSearch 中得到支持,以满足最终用户的业务需求。例如:
* **预测:** 预测在时间序列数据分析中非常流行。虽然过去的数据并不总是未来的指标,但它仍然是在某些用例中使用的非常强大的工具,例如在 IT 运维中进行容量规划以扩展或缩减服务主机。
* **DevOps 中的根因分析:** 如今一些客户使用 OpenSearch 进行 IT 运维。由于需要收集生态系统中的所有信息(例如日志、链路追踪、指标),确定故障或事件的根本原因变得越来越复杂。机器学习技术非常适合通过自动构建系统的拓扑模型,以及理解事件之间的相似性和因果关系等来解决这个问题。
* **SIEM 中的机器学习:** SIEM(安全信息和事件管理)是 OpenSearch 中的另一个领域。机器学习在 SIEM 中也非常有用,可以帮助促进安全分析,减少处理复杂任务的工作量,实现实时威胁分析并发现异常。
### 解决方案
解决方案是在 OpenSearch 集群中引入一个新的 Machine Learning 库。此解决方案的主要功能包括:
* **统一的客户端接口:** 客户端可以使用通用接口进行训练和推理任务,然后根据算法接口提供正确的输入参数,例如输入数据、超参数。将构建一个客户端库以便于使用。
* **ML 插件:** ML 插件将帮助启动 ML 节点,并为每个请求选择合适的节点和分配资源,通过监控和故障处理支持来管理机器学习任务,并存储模型结果;它将作为 OpenSearch 进程与 ML 引擎之间通信的桥梁。
* **ML 引擎:** 该引擎将成为 ML 算法的宿主。首个版本将支持基于 Java 的机器学习算法。
该解决方案使得开发新的机器学习功能变得容易。它允许工程师利用现有的开源机器学习算法,并减少构建任何新机器学习功能的工作量。它还免去了工程师管理机器学习任务的必要性,这将有助于加快功能开发过程。
### 如何将其用于新功能开发
请参阅[如何添加新函数](docs/how-to-add-new-function.md)。
## 行为准则
本项目已采纳 [Amazon 开源行为准则](CODE_OF_CONDUCT.md)。有关更多信息,请参阅[行为准则 FAQ](https://aws.github.io/code-of-conduct-faq),如有任何其他问题或意见,请联系 [opensource-codeofconduct@amazon.com](mailto:opensource-codeofconduct@amazon.com)。
## 安全
如果您在本项目中发现潜在的安全问题,我们要求您通过发送邮件至 security@opensearch.org 直接通知 OpenSearch Security。请**不要**创建公开的 GitHub issue。
## 许可证
本项目基于 [Apache v2.0 许可证](LICENSE) 授权。
## 版权
版权所有 2020-2021 Amazon.com, Inc. 或其附属公司。保留所有权利。
标签:Apex, JS文件枚举, 人工智能, 域名枚举, 插件, 机器学习, 用户模式Hook绕过, 算法库