Giter Club home page Giter Club logo

Comments (4)

saharNooby avatar saharNooby commented on June 1, 2024 3

That's a diffucult situation.

On the one hand, I would like to keep ggml up to date, maybe even as a subrepo (so I don't need to manually pull updates). That way we get all new performance improvements and fixes for free.

On the other hand, ggml's Q4_0 and Q4_1 completely break RWKV, and we need Q4_1_O for any hope of quality; and both options "port Q4_1_O again every time ggml updates" and "just delete Q4_1_O" look very bad.

I guess my plan/vision currently is "it works fine now, so we can live without ggml updates at all".

I'll ask in ggml repo what they think about merging Q4_1_O upstream.

from rwkv.cpp.

saharNooby avatar saharNooby commented on June 1, 2024 3

@yorkzero831 I've forked most recent version of ggml here. The fork contains only one important commit: introduction of Q4_1_O format. I guess it should be usable with Rust now.

from rwkv.cpp.

saharNooby avatar saharNooby commented on June 1, 2024

I started the refactoring in ggml-to-submodule branch.

When merged, this will update ggml in rwkv.cpp to the latest version. After that, I would need to manually pull changes into the submodule to update ggml, but since there is now no new operators and change set is greatly reduced, this would be way easier.

Ideally, I need to pull Q4_1_O format into upstream ggml. That way, I would not even need to support a ggml fork. As an alternative, vanilla ggml quantization formats may become good enough for RWKV, as mentioned in that issue.

from rwkv.cpp.

yorkzero831 avatar yorkzero831 commented on June 1, 2024

@saharNooby Really nice, that helps alot

from rwkv.cpp.

Related Issues (20)

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.