标签: 性能优化

  • 使用远程服务器加速 Immich 的机器学习推理

    为了显著提升 Immich 在执行照片和视频分析等任务时的机器学习推理性能,可以将 Immich 的机器学习容器部署在具备更强硬件性能(例如配备高性能 GPU 或专用 AI 加速卡的服务器)的远程服务器上。这种方式可以将计算密集型的推理工作负载从运行 Immich Server 的主服务器卸载,从而释放主服务器的资源并加快推理速度。

    1. 确保版本一致性

    重要提示

    1. Immich 服务器(即运行 Immich Web、API 和 Microservices 的主服务器)的版本必须与您计划在远程服务器上部署的机器学习服务容器的版本完全一致
    2. 如果这两个组件的版本不匹配,极有可能导致各种不可预期的错误、功能异常,甚至推理任务的彻底失败。为了确保系统的稳定性和功能的正常运行,请务必仔细核对并保持版本同步。

    2. 在远程系统上部署机器学习容器

    在您选定的远程服务器上,创建一个名为 docker-compose.yml 的文件。该文件将定义并配置 Immich 机器学习服务的 Docker 容器。请根据您的远程服务器的硬件配置以及您希望使用的加速后端选择合适的配置:

    name: immich_remote_ml
    
    services:
      immich-machine-learning:
        container_name: immich_machine_learning
        # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
        # Example tag: ${IMMICH_VERSION:-release}-cuda
        image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
        # extends:
        #   file: hwaccel.ml.yml
        #   service: # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
        volumes:
          - model-cache:/cache
        restart: always
        ports:
          - 3003:3003
    
    volumes:
      model-cache:

    3. 启动容器

    在远程服务器上执行以下命令启动服务:

    docker compose up -d

    4. 配置 Immich 使用远程推理服务

    在 Immich Web 界面中:

    • 进入 系统设置
    • 打开 系统管理 > 设置 > 机器学习设置
    • 将远程服务器的机器学习服务 URL 填入(例如:http://<远程服务器IP>:3003

    完成以上配置后,Immich Server 在需要进行机器学习推理时,例如人脸识别、物体识别、场景分类等,将会自动将这些请求发送到您配置的远程机器学习服务。这将利用远程服务器更强大的计算资源来加速推理过程,从而提升 Immich 的整体性能和用户体验。您可以通过观察 Immich 的任务队列和远程服务器的资源使用情况来验证远程推理是否正常工作。