JuliaGenAI 是一个专注于推动生成式 AI 研究并寻求其在 Julia 编程语言生态系统中的应用的组织。我们的社区由对利用 Julia 的高性能能力推动生成式 AI 发展充满热情的 AI 研究人员、开发人员和爱好者组成。我们致力于创建利用 Julia 在处理复杂 AI 挑战方面的独特优势的创新工具和解决方案。
与其他组织有高度重叠,您可能也对此感兴趣
使用 MLJ.jl 的项目 - 更多传统机器学习项目
强化学习项目 - 针对 AlphaZero.jl 的项目
使用 FluxML 的项目 - 针对 Flux.jl 的项目,它是 Julia 深度学习生态系统的支柱
项目概述: Llama2.jl 是 Llama 架构的 Julia 原生端口,最初基于 llama2.c。本项目旨在通过使用 KernelAbstraction.jl 实现 GPU 支持来增强 Llama2.jl,从而显著提高其性能。
导师: Cameron Pfiffer
项目难度: 困难
预计持续时间: 350 小时
理想候选人概况
精通 Julia 编程
了解 GPU 计算
熟悉 KernelAbstractions.jl
项目目标和交付成果
在 llama2.jl 中实现 GPU 支持
全面文档和示例,展示性能提升
为 llama2.jl 的现有代码库和文档做出贡献
项目概述: Llama.jl 是 llama.cpp 的 Julia 接口,如今为许多开源工具提供支持。它目前仅利用高级二进制文件。本项目专注于为 llama.cpp 生成低级 C 接口,从而实现对内部模型状态的原生访问,这将为令人难以置信的研究机会和有吸引力的应用(例如,约束生成、新颖的采样算法等)打开大门。
导师: Cameron Pfiffer
项目难度: 困难
预计持续时间: 175 小时
理想候选人概况
精通 Julia 和 C 编程
项目目标和交付成果
用于标记化和采样功能的自动生成的 C 接口
在标记生成期间访问 llama.cpp 中的内部模型状态
能够从给定模型状态生成文本
项目概述
Julia 作为一种高性能语言,在 GenAI 训练数据集中必不可少,但代表性不足。AIHelpMe.jl 是我们雄心勃勃的倡议,通过提供这种知识,通过上下文学习(RAG,提示)来增强大型语言模型 (LLM) 对 Julia 的理解,从而弥合这一差距。本项目专注于使用最新的、内容丰富的 Julia 信息扩展嵌入式知识库,并优化问答管道,以提供准确、相关的答案。通过将目标 Julia 代码片段和文档注入查询中,AIHelpMe.jl 旨在显著提高生成式 AI 对全球 Julia 开发人员的准确性和实用性。
导师: Jan Siml / JuliaLang Slack 上的 @svilup
/ Julia Zulip 上的 Jan Siml
项目难度: 中等
预计持续时间: 175 小时
谁应该申请
对 Julia 编程语言有深入理解,并渴望加深他们在 Julia 和 AI 社区中的参与的个人。
申请人应具备检索增强生成 (RAG) 优化技术的入门知识,并对改进 AI 技术充满热情。
项目目标和交付成果
知识库扩展: 扩展 AIHelpMe.jl 知识库,以包含来自关键 Julia 生态系统的全面、最新的资源,例如 Julia 文档网站、DataFrames、Makie、Plots/StatsPlots、Tidier-verse、SciML 等。有关更多详细信息,请参见 GitHub 问题。这种扩展对于丰富与 Julia 编程相关的 AI 生成的响应的上下文和准确性至关重要。
性能调整: 在黄金问答数据集上实现至少 10% 的准确性和相关性提升,优化 AIHelpMe.jl 问答管道,以提高性能。
项目概述
通过将 ColBERT v2(一种尖端的文档检索和重新排序框架)引入 Julia 编程世界,深入了解生成式 AI 和信息检索的最前沿。该倡议不仅旨在将 ColBERT v2 转换为在 Julia 中原生运行,而且还旨在将其与 AIHelpMe.jl(以及其他下游库)无缝集成。这种集成有望通过提供本地托管的、更具成本效益且高效的文档搜索功能来彻底改变用户与 AI 的交互方式。通过使这种复杂的技术能够在本地运行,我们减少了对大型商业平台的依赖,确保了对数据的隐私和控制,同时保持最小的内存开销。
导师: Jan Siml JuliaLang Slack 上的 @svilup
/ Julia Zulip 上的 Jan Siml
项目难度: 困难
预计持续时间: 350 小时
理想候选人概况
深入了解 Transformer 架构,精通 Flux.jl 或 Transformers.jl。
在语义文档检索(或使用检索增强生成应用)方面拥有经验,并对推动 AI 技术发展充满兴趣。
对开源开发的承诺,以及对为不断发展的 Julia 基 AI 工具生态系统做出贡献的热情。
项目目标和预期成果
ColBERT v2 的原生 Julia 翻译: 成功将 ColBERT v2 移植到 Julia 生态系统中运行。重点仅关注 ColBERT v2 的索引和检索功能,例如,您在 示例用法部分 中看到的检索和索引片段。有关指导,请参考现有的索引和检索示例。
与 AIHelpMe.jl 集成: 无缝集成到 AIHelpMe.jl 的一个嵌入和检索后端中(在 PromptingTools.jl 中定义)。
包注册和文档: 在 Julia 生态系统中注册功能完备的包,并提供全面的文档和使用示例,以促进社区的采用和贡献。
项目概述
PromptingTools.jl 是 Julia GenAI 生态系统中的一个关键工具。本项目是一项协同努力,通过整合更广泛的提示模板和模式来扩大 PromptingTools.jl 的实用性和适用性,从而满足各种 LLM 后端的需要。该倡议直接对应于 PromptingTools.jl 的 GitHub 上的 问题 #67、问题 #68 和 问题 #69。通过增强库的功能以支持 Ollama 后端的结构化提取,并引入更多标准化的提示模式,我们的目标是使 PromptingTools.jl 成为参与开源大型语言模型 (LLM) 的开发人员更强大、不可或缺的资源。
导师: Jan Siml / JuliaLang Slack 上的 @svilup
/ Julia Zulip 上的 Jan Siml
项目难度: 中等
预计持续时间: 175 小时
理想候选人概况
精通 Julia,致力于推动 Julia AI 生态系统的发展。
具有使用开源 LLM(例如 llama.cpp 和 vLLM)的经验,并熟悉提示工程概念。
项目目标和交付成果
模式集成和功能增强: 实施和集成各种常见的提示模式(有关详细信息,请参见 问题 #67)。开发 render
和 aigenerate
函数的方法,这些方法能够轻松使用和渲染这些模板,并附带全面的文档、示例和测试。
结构化提取支持: 为 Ollama 后端添加 aiextract
支持,因为目前不支持此功能。这包括创建方法和模板,这些方法和模板能够促进结构化数据提取,从而扩展使用案例并提高通过 PromptingTools.jl 与 AI 模型交互的效率。有关详细信息,请参见 问题 #68。将功能扩展到其他后端是一个加分项。
支持常见后端: 扩展 PromptingTools.jl 的功能以支持常见的后端,例如 HuggingFace Transformers 和 vLLM,确保该库与各种 LLM 兼容。我们需要为每个后端创建一个示例来演示功能。有关详细信息,请参见 问题 #69
项目概述
作为 Julia 社区的关键资源,Julia LLM 排行榜 对开源模型进行基准测试,以进行 Julia 代码生成。这个增强项目旨在通过整合额外的测试用例,并将基准测试扩展到 Julia 特定的应用,超越代码生成,例如使用黄金问答数据集评估检索增强生成 (RAG) 应用,以及许多其他应用,来扩展排行榜。该倡议旨在解决几个 GitHub 问题,旨在提高排行榜的实用性和准确性,使其成为社区更加不可或缺的工具。参与者将有机会加深对生成式 AI 的了解,同时为一个项目做出贡献,该项目增强了 Julia 社区选择最有效的 AI 模型来满足其需求的方式。
导师: Jan Siml / JuliaLang Slack 上的 @svilup
/ Julia Zulip 上的 Jan Siml
项目难度: 容易/中等
预计持续时间: 175 小时
理想候选人概况
精通 Julia,并且是 Julia 社区的活跃参与者。
对生成式 AI 的基本了解或兴趣,并渴望通过实际应用了解更多。
对为开源项目做出贡献的热情,以及帮助 Julia 社区识别最有效的 AI 模型来满足其需求的愿望。
项目目标和交付成果
测试用例扩展: 开发和整合各种测试用例,以更全面地评估 LLM 在 Julia 代码生成方面的能力,提高排行榜的健壮性和可靠性。有关详细信息,请参见 此处。
基准测试扩展: 扩展排行榜的基准测试功能,以包括对 RAG 应用(问答系统)的评估,重点关注它们对 Julia 编程语言的了解,以及其他 Julia 任务,例如“帮我加速这段代码”、“如何以更惯用的方式编写这段代码”等。与项目 3 有轻微重叠,但是,重点在这里是确定具有强大功能的、有前景的本地托管模型。有关详细信息,请参见 此处。
文档和推广: 在一系列博客文章中记录调查结果和最佳实践,以分享见解、突出显示表现最佳的模型,并指导社区如何在 Julia 生态系统中有效地利用生成式 AI。
项目概述: 本项目旨在扩展 CounterfactualExplanations.jl 的功能,使其适用于大型语言模型 (LLM)。作为基础,还需要实现对 LLM 的特征属性计算的支持。该项目将为 Taija 和 JuliaGenAI 做出贡献。
导师: Jan Siml (JuliaGenAI) 和 Patrick Altmeyer (Taija)
项目难度: 中等
预计持续时间: 175 小时
理想候选人概况
熟悉 Julia 和多重分派的优势,但不是必需的
对机器学习和统计学有很好的了解
对大型语言模型 (LLM) 有很好的理解
理想情况下,之前使用过 Transformers.jl
项目目标和交付成果
仔细考虑架构选择:如何将对 LLM 的支持融入 CounterfactualExplanations.jl 的现有代码库中?
对您的工作进行全面的测试和记录
我们很乐意听取您的想法,并与您讨论潜在的项目。
最简单的方法可能是加入我们的 JuliaLang Slack 并加入 #generative-ai
频道。您也可以通过 Julia Zulip 联系我们,或在我们的网站 JuliaGenAI 上发布 GitHub Issue。