GithubHelp home page GithubHelp logo

alcanderian / ppl.nn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openppl-public/ppl.nn

0.0 1.0 0.0 18.44 MB

A primitive library for neural network

License: Apache License 2.0

CMake 0.78% Shell 0.19% C 0.34% C++ 97.77% Objective-C 0.42% Python 0.47% Batchfile 0.01% Assembly 0.03%

ppl.nn's Introduction

PPLNN

website License qq zhihu

Overview

PPLNN, which is short for "PPLNN is a Primitive Library for Neural Network", is a high-performance deep-learning inference engine for efficient AI inferencing. It can run various ONNX models and has better support for OpenMMLab.

alt arch

Important Notice

  • PMX has changed to OPMX at 25/04/2024.
  • ChatGLM1 will not be supported in OPMX.
  • All LLM must be converted(or just rename pmx_params.json to opmx_params.json) and exported again.
  • You can find the old code at llm_v1

Known Issues

  • NCCL issue on some Device: Currently reported that L40S and H800 may encounter illegal memory access on NCCL AllReduce. We suggest trying to turn NCCL protocol Simple off by setting environment NCCL_PROTO=^Simple to fix this issue.

LLM Features

  • New LLM Engine(Overview)
  • Flash Attention
  • Split-k Attention(Similar with Flash Decoding)
  • Group-query Attention
  • Dynamic Batching(Also called Continous Batching or In-flight Batching)
  • Tensor Parallelism
  • Graph Optimization
  • INT8 groupwise KV Cache(Numerical accuracy is very close to FP16🚀)
  • INT8 per token per channel Quantization(W8A8)

LLM Model Zoo

Hello, world!

  • Installing prerequisites:

    • On Debian or Ubuntu:
    apt-get install build-essential cmake git python3 python3-dev
    • On RedHat or CentOS:
    yum install gcc gcc-c++ cmake3 make git python3 python3-devel
  • Cloning source code:

git clone https://github.com/openppl-public/ppl.nn.git
  • Building from source:
cd ppl.nn
./build.sh -DPPLNN_USE_X86_64=ON -DPPLNN_ENABLE_PYTHON_API=ON
  • Running python demo:
PYTHONPATH=./pplnn-build/install/lib python3 ./tools/pplnn.py --use-x86 --onnx-model tests/testdata/conv.onnx

Refer to Documents for more details.

Documents

Contact Us

Questions, reports, and suggestions are welcome through GitHub Issues!

WeChat Official Account QQ Group
OpenPPL 627853444
OpenPPL QQGroup

Contributions

This project uses Contributor Covenant as code of conduct. Any contributions would be highly appreciated.

Acknowledgements

License

This project is distributed under the Apache License, Version 2.0.

ppl.nn's People

Contributors

ouonline avatar alcanderian avatar jianfei-wangg avatar jiaomingjun avatar openppl-public avatar mochiset avatar moran232 avatar kyu-junyi avatar xupinjie avatar zichentian avatar litianjian avatar icthu avatar czhappy avatar si-xu avatar vincent-syr avatar yxpandjay avatar tangyanf avatar sunnyligithub avatar zhiqwang avatar violetevergardenyyh avatar a1trl9 avatar johnxusjtu avatar yimmmin avatar haojiangzheng avatar lzhangzz avatar ysh329 avatar nihui avatar liuhaoss avatar grimoire avatar gilsaia avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.