标签: AGI

  • 🌐 用电脑像人类一样工作的代理:Agent S 的崛起

    在数字革命的浪潮中,计算机的使用方式正在悄然发生变化。Douglas Engelbart曾说过:“数字革命比写作或印刷的发明更为重要。”而如今,Agent S,作为一个开放的代理框架,正致力于将这一变化推向新的高度。它的目标是让计算机操作不再是人类的专利,而是能够实现自主的图形用户界面(GUI)操作。让我们一起来看看这个引领未来的智能代理是如何工作的吧!

    🤖 什么是 Agent S?

    Agent S 是一个全新的代理框架,旨在通过自动化复杂的多步骤任务,来提高人机交互的效率。它不仅能帮助用户进行数据输入、日程安排,还能在商业环境中简化操作。Agent S 通过与计算机的图形用户界面进行直接交互,消除了人类用户的持续手动操作,从而提升了效率和无障碍性,特别是对残疾人士而言。

    🌟 关键挑战

    Agent S 在实现这一目标的过程中,面临着三大挑战:

    1. 领域特定知识的获取:计算机应用和网站的种类繁多且不断演变,代理需要具备最新的专业知识。
    2. 长期任务的规划:复杂的桌面任务常常涉及长时间的多步骤规划,代理必须跟踪任务进展并创建明确的计划。
    3. 动态界面的处理:GUI 代理需要处理大量的视觉和文本信息,同时在广泛的操作空间中作出反应。

    🧠 经验增强的层次规划

    Agent S 通过一种称为“经验增强的层次规划”的方法来应对这些挑战。该方法结合了外部知识搜索和内部经验检索,使代理能够有效地分解复杂任务为可管理的子任务。

    graph TD;
        A[任务接收] --> B{生成查询};
        B -->|外部知识| C[网络检索];
        B -->|内部经验| D[经验检索];
        C --> E[融合知识];
        D --> E;
        E --> F[生成子任务];

    如上图所示,Agent S 首先接收用户的任务,然后生成查询以获取外部知识和内部经验,最后融合这些知识生成可执行的子任务。这种方法不仅提高了任务的成功率,还提高了代理的适应能力。

    📊 评估与表现

    在 OSWorld 基准测试中,Agent S 的表现令人瞩目。它的成功率达到了 20.58%,相较于之前的最佳基线(11.21%)几乎翻了一番。通过对比不同计算机任务的表现,Agent S 显示出了在日常和专业任务中的强大能力。

    🏆 结果展示

    以下是 Agent S 在 OSWorld 和 WindowsAgentArena 上的表现对比:

    pie
        title Agent S 成功率对比
        "OS": 20.58
        "Office": 13.00
        "Daily": 27.06
        "Professional": 36.73
        "Workflow": 10.53

    从图中可以看出,Agent S 在处理日常和专业任务时,表现出了显著的优势。

    🛠️ 组件分析

    Agent S 的成功不仅依赖于其经验增强的层次规划方法,还包括以下几个关键组件:

    • 自我评估模块:在完成任务后,Agent S 会对执行过程进行总结,以增强其未来的学习能力。
    • 代理-计算机接口 (ACI):该接口为代理提供了一种安全高效的方式进行 GUI 操作,确保了每个操作都能得到及时反馈。
    graph TD;
        A[用户任务] --> B[环境观察];
        B --> C[生成行动];
        C --> D[执行操作];
        D --> E[反馈收集];
        E --> F[自我评估];

    如上图所示,Agent S 通过不断的反馈循环来提高自身的执行能力和任务成功率。

    🎉 结论与展望

    Agent S 的出现,标志着一个新的时代的来临。在这个时代,计算机不仅仅是工具,还是可以自主完成复杂任务的智能代理。未来的工作将不仅限于提高任务的成功率,还需要关注任务完成所需的时间和步骤数。因此,Agent S 的发展不仅是技术的进步,更是人机交互方式的革命。

    在这个充满潜力的领域,我们期待 Agent S 在未来能够引领更多的创新,推动计算机与人类之间的交互达到新的高度。

    📚 参考文献

    1. Agashe, S., Han, J., Gan, S., Yang, J., Li, A., Wang, X. E. (2024). Agent S: An Open Agentic Framework that Uses Computers like a Human. arXiv:2410.08164.
    2. Engelbart, D. (n.d.). The Inventor of Computer Mouse.
    3. OpenAI. (2023). GPT-4o.
    4. Anthropic. (2024). Claude.
    5. Xie, et al. (2024). OSWorld: A Benchmark for Testing the Capability of Multimodal Agents.

    在这篇文章中,我们不仅探讨了 Agent S 的架构和优势,同时也展望了未来人机交互的趋势。希望这些内容能够激发读者对智能代理技术的兴趣和思考!

  • 开源GPU虚拟化方案:HAMi

    在当今的计算环境中,GPU的高效利用变得愈加重要,尤其是在需要并行计算的AI和机器学习任务中。本文将深入探讨一个开源的GPU虚拟化方案——HAMi,涵盖其安装、配置和使用方法。

    1. 为什么需要GPU共享与切分?

    在深入HAMi之前,我们首先需要思考一个问题:为什么需要GPU共享和切分等方案?在裸机环境中,多个进程可以共享同一GPU,然而当我们转向Kubernetes(K8s)环境时,这种共享就变得复杂了。

    资源感知

    在K8s中,资源是与节点绑定的。NVIDIA提供的device-plugin可以帮助我们感知GPU资源,并将其上报到kube-apiserver。这样,我们就能在Node对象上看到相应的GPU资源。

    例如,使用以下命令查看节点资源:

    root@liqivm:~# k describe node gpu01 | grep Capacity -A 7
    Capacity:
      cpu:                128
      memory:             1056457696Ki
      nvidia.com/gpu:     8

    可以看出,该节点上有8个GPU可用。

    资源申请

    当我们创建Pod时,可以申请相应的GPU资源。例如,申请一个GPU:

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-pod
    spec:
      containers:
      - name: gpu-container
        image: nvidia/cuda:11.0-base
        resources:
          limits:
            nvidia.com/gpu: 1
        command: ["nvidia-smi"]

    这样,K8s调度器就会将该Pod调度到拥有足够GPU资源的节点上,同时该Pod申请的资源会被标记为已使用,无法再分配给其他Pod。

    2. 什么是HAMi?

    HAMi(Heterogeneous AI Computing Virtualization Middleware)是一个异构算力虚拟化平台,旨在为Kubernetes集群中的异构AI计算设备提供管理和调度功能。HAMi允许任务在不同类型的异构设备(如GPU、NPU等)之间共享资源,并基于设备的拓扑和调度策略做出更优的调度决策。

    主要功能

    HAMi支持GPU的细粒度隔离,可以对核心和内存使用进行1%级别的隔离。通过替换容器中的libvgpu.so库,HAMi能够实现CUDA API的拦截,从而实现对GPU资源的有效管理。

    例如,您可以在Pod中这样指定资源:

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-pod
    spec:
      containers:
        - name: ubuntu-container
          image: ubuntu:18.04
          command: ["bash", "-c", "sleep 86400"]
          resources:
            limits:
              nvidia.com/gpu: 1 # 请求1个vGPU
              nvidia.com/gpumem: 3000 # 每个vGPU申请3000M显存
              nvidia.com/gpucores: 30 # 每个vGPU使用30%的GPU算力

    3. HAMi的部署

    HAMi的安装使用Helm Chart,非常简单。首先,您需要部署NVIDIA的GPU Operator,以确保环境的兼容性。

    部署步骤

    1. 添加HAMi仓库:
       helm repo add hami-charts https://project-hami.github.io/HAMi/
    1. 获取集群服务端版本:
       kubectl version
    1. 使用Helm安装HAMi:
       helm install hami hami-charts/hami --set scheduler.kubeScheduler.imageTag=v1.27.4 -n kube-system
    1. 验证安装状态:
       kubectl get pods -n kube-system | grep hami

    如果vgpu-device-pluginvgpu-scheduler的状态为Running,则表示安装成功。

    4. 验证GPU资源

    在安装完成后,您可以检查节点的GPU资源是否已经按照预期扩容。例如,使用以下命令:

    kubectl get node xxx -oyaml | grep capacity -A 7

    您将看到节点上可用的GPU资源数量增加。

    5. 小结

    HAMi作为一个开源vGPU方案,提供了细粒度的GPU资源隔离和管理能力,极大地提升了GPU的利用率。通过HAMi,用户可以在Kubernetes环境中实现对GPU资源的有效共享与管理,推动AI和机器学习任务的高效执行。

    如需了解更多,欢迎访问HAMi的GitHub页面


人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 645 | UV: 499
Last updated: 2025-05-11 02:39:04
沪ICP备2024052574号-1