intel-analytics / ipex-llm

Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Mixtral, Gemma, Phi, MiniCPM, Qwen-VL, MiniCPM-V, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU such as Arc, Flex and Max); seamlessly integrate with llama.cpp, Ollama, HuggingFace, LangChain, LlamaIndex, vLLM, GraphRAG, DeepSpeed, Axolotl, etc
Apache License 2.0
6.74k stars 1.27k forks source link

[PPML] End-to-end user workflow with attestation and kms integration #4166

Open glorysdj opened 2 years ago

glorysdj commented 2 years ago
  1. Milestones

    • M1. basic deployment and spark on k8s cluster support [3/18]
    • M2. data io and default kms/as integration [4/1]
    • M3. e2e ppml solution on k8s-sgx [4/15]
    • M4. Gramine validation with spark [4/30]
    • M5. BigDL ppml migrated to Gramine [5/15]
  2. MVP: M1+M2

    • deployment
    • spark on k8s-sgx client/cluster
    • kms+as integration
    • encrypt/decrypt data io.
  3. details:

    • [ ] deployment
    • [x] sgx enable(bios, kernel, driver, pccs setup) [M1]
    • [x] k8s [M1]
    • [x] nfs [M1]
    • [x] sgx device plugin [M1]
    • [ ] attestation service lib [M2]
    • [ ] attestation service k8s service [M3]
    • [x] kms [M1]
    • [x] bigdl client (helm chart) [M1]
    • [ ] attestation service [M2]
    • [x] api interface (generate & verify)
    • [x] REST service
    • [x] dummy implementation
    • [x] implementation and tests
    • [ ] other attestation service implementations
    • [ ] kms abstraction
    • [x] api interface [M1]
    • [x] dummy implementation [M1]
    • [x] ehsm kms implementation [M2]
    • [x] other kms implementations [M3]
    • [x] data encrypt/decrypt examples [M1]
    • [ ] spark on k8s
    • [x] cluster mode [M1]
    • [x] attestation integration at client for driver [M2]
    • [x] attestation integration at driver for executors [M2]
    • [x] kms integration [M2]
    • [x] patches [M1]
    • [ ] dataio
    • [x] bigdl ppml project refactoring [M1]
    • [x] data distributed encryption [M1]
    • [x] data distributed decryption [M1]
    • [ ] parquet supports [M3]
    • [ ] hdfs inputs [M3]
    • [ ] hive inputs [M3]
    • [ ] data analytics and ml
    • [ ] selected examples tests
      • [x] simpleio [M1]
      • [x] maxcompute [M1]
      • [ ] lr [M2]
      • [ ] xgboost [M3]
    • [x] performance metrics [M2]
    • [x] performance benchmarks [M3]
    • [x] SGX Visualization Dashboard [M3]
    • [x] framework, forntend + backend
    • [x] metrics definition
    • [x] dashboard design
    • [x] implementation
    • [ ] Gramine validation with spark [M4]
    • [ ] validate java
      • [x] process builder
      • [ ] multi-thread
      • [ ] socket
      • [x] file system io [LTP]
    • [ ] validate spark sql ut
    • [ ] validate pyspark sql ut
    • [ ] validate spark sql example
jason-dai commented 2 years ago

Please brake the tasks into multiple milestones; what is the MVP needed to support the minimal user requirements/solutions?

glorysdj commented 2 years ago

Please brake the tasks into multiple milestones; what is the MVP needed to support the minimal user requirements/solutions?

we have defined the MVP and 3 milestones. please help to review.