16 ms·
CoreNet: A library for training deep neural networks
- mxwsn 2y agoBuilt on top of pytorch.
- jauntywundrkind 2y ago[flagged]
- throwaway5959 2y agoMaybe it’s because you need to take a breath while typing.
- BuckYeah 2y agoAs someone who owns apple stock. I’m good with it
- andrewmcwatters 2y agoApple does this with some other technologies as well. CoreData "is" SQLite.
- randomdata 2y agoCoreData is an object graph and persistence framework. It is more like an ORM toolkit than like a database engine. Indeed, SQLite is one of the possible 'backends', but it is not limited to SQLite. It also supports XML, binary, and in-memory stores out of the box, and you can also create your own if none of those suit.
- threeseed 2y agoCoreData is a derivative of the WebObjects' Enterprise Object Framework (EOF). They just tied it to SQLite whereas in the past it was a general ORM.
- loaderchips 2y agoYou have articulated what i have been feeling towards apple really well. I like their products But their philosophy and approach is not up to par
- MBCook 2y agoMetal was released before Vulkan, and had a different design philosophy. So that’s not a good argument. They follow the licenses. Apple has paid developers to work on WebKit, Clamg/LLVM, and CUPS. That’s off the top of my head. All open source. All available to you. I remember reading how they contributed fixes to a huge number of packages in the OSS ecosystem when working to get POSIX certification as they fixed issues. They released Swift as open source when they didn’t need to, and keep opening more libraries for it as they work to reimplement foundation. You may not like Apple, but they’re not a leech. They give back.
- Jtsummers 2y agoApple also contributed substantially to OpenCL (I mean, they were the originators of it), though CUDA (the closed, proprietary solution) ate that world.
- threeseed 2y agoThey also had paid developers working on Apache Spark. As well as Apache Cassandra before they switched to FoundationDB which is still open-source and maintained.
- symlinkk 2y agoPretty funny that Apple engineers use Homebrew too.
- ClassyJacket 2y ago[flagged]
- vsnf 2y agoAs a thought exercise, how would one even begin to try to pollute a curl with ads? Would it print out suggested websites after every get request?
- ronsor 2y agoProbably. That's basically how npm ads work.
- blackoil 2y agoBefore you see the output, please read about this brilliant product. Type name of product to continue.
- fiddlerwoaroof 2y agoDetect iterm or kitty or other image-capable terminals and display an image
- deleted 2y ago[deleted]
- TaylorAlexander 2y agoOh if we’re thinking of terrible ideas, it could save ads as a JPG in to the folder where you saved whatever you were grabbing with curl.
- dylan604 2y agoOr even more terrible, open the image full screen with no way to close it until it feels it has been open long enough to close on its own. maybe show some sort of timer counting down, and then before dismissing itself, it opens the App Store listing for the app. it'll be very convenient for the user as no user interaction will be required for any of this
- gnabgib 2y agoh1: CoreNet: A library for training deep neural networks
- andreygrehov 2y agoWhat hardware would one need to have for the CoreNet to train efficiently?
- buildbot 2y agoDoes this support training on Apple silicon? It’s not very clear unless I missed something in the README.
- zmk5 2y agoI believe the MLX examples allow for it. Seems like a general purpose framework rather than a Mac specific one.
- gbickford 2y agoI couldn't find any training code in the MXL examples.
- blackeyeblitzar 2y agoWould such a capability (training) be useful for anything other than small scale experimentation? Apple doesn’t make server products anymore and even when they did, they were overpriced. Unless they have private Apple silicon based servers for their own training needs?
- MBCook 2y agoThere are an insane number of Apple Silicon devices out there. If your product runs on an iPhone or iPad, I’m sure this is great. If you only ever want to run on 4090s or other server stuff, yeah this probably isn’t that interesting. Maybe it’s a good design for the tools or something, I have no experience to know. Maybe someone else can build off it. But it makes sense Apple is releasing tools to make stuff that works better on Apple platforms.
- blackeyeblitzar 2y agoI can understand the inference part being useful and practical for Apple devs. I’m just wondering about the training part, for which there Apple silicon devices don’t seem very useful.
- gbickford 2y ago> Relationship with CVNets > CoreNet evolved from CVNets, to encompass a broader range of applications beyond computer vision. Its expansion facilitated the training of foundational models, including LLMs. We can expect it to have grown from here: https://apple.github.io/ml-cvnets/index.html https://apple.github.io/ml-cvnets/index.html It looks like a mid-level implementations of training and inference. You can see in their "default_trainer.py"[1] that the engine uses Tensors from torch but implements its own training method. They implement their own LR scheduler and optimizer; the caller can optionally use Adam from torch. It's an interesting (maybe very Apple) choice to build from the ground up instead of partnering with existing frameworks to provide first class support in them. The MLX examples seem to be inference only at this point. It does look like this might be a landing ground for more MLX specific implementations: e.g. https://github.com/apple/corenet/blob/5b50eca42bc97f6146b812a3e3469959da5da0ec/mlx_examples/clip/model.py#L402 https://github.com/apple/corenet/blob/5b50eca42bc97f6146b812... It will be interesting to see how it tracks over the next year; especially with their recent acquisitions: Datakalab https://news.ycombinator.com/item?id=40114350 https://news.ycombinator.com/item?id=40114350 DarwinAI https://news.ycombinator.com/item?id=39709835 https://news.ycombinator.com/item?id=39709835 1: https://github.com/apple/corenet/blob/main/corenet/engine/default_trainer.py https://github.com/apple/corenet/blob/main/corenet/engine/de...
- blackeyeblitzar 2y ago> It looks like a mid-level implementations of training and inference I’m not familiar with how any of this works but what does state of the art training look like? Almost no models release their training source code or data sets or pre processing or evaluation code. So is it known what the high level implementation even is?
- spott 2y agohttps://github.com/NVIDIA/Megatron-LM https://github.com/NVIDIA/Megatron-LM This is probably a good baseline to start thinking about LLM training at scale.
- error9348 2y ago
- miki123211 2y agoWhat's the advantage of using this over something like Huggingface Transformers, possibly with the MPS backend?
- pshc 2y ago"MLX examples demonstrate how to run CoreNet models efficiently on Apple Silicon. Please find further information in the README.md file within the corresponding example directory." > mlx_example/clip: ... an example to convert CoreNet's CLIP model implementation to MLX's CLIP example with some customized modification. - FP16 Base variant: 60% speedup over PyTorch - FP16 Huge variant: 12% speedup > mlx_example/open_elm: ... an MLX port of OpenELM model trained with CoreNet. MLX is an Apple deep learning framework similar in spirit to PyTorch, which is optimized for Apple Silicon based hardware. Seems like an advantage is extra speedups thanks to specialization for Apple Silicon. This might be the most power-efficient DNN training framework (for small models) out there. But we won't really know until someone benchmarks it.
- HarHarVeryFunny 2y agoOpenELM (ELM = Efficient Language Models) has an unfortunate name clash with another LLM-related open source project. https://github.com/CarperAI/OpenELM https://github.com/CarperAI/OpenELM (ELM = Evolution through Large Models)
- jaimex2 2y agoNothing, its basically pytorch with an Apple logo.
- upbeat_general 2y agoThe implementation seems to be pretty clean and modular here where transformers (and diffusers) isn’t, unless you take their modules standalone. This repo has a lot of handy utilities but also a bunch of clean implementations of common models, metrics, etc. In other words, this is more for writing new models rather than inference.
- deleted 2y ago[deleted]
- coder543 2y agoThey also mention in the README: > CatLIP: CLIP-level Visual Recognition Accuracy with 2.7x Faster Pre-training on Web-scale Image-Text Data This is the first I’m hearing of that, and the link seems broken.
- huac 2y agocat's out of the bag, too early?
- simonw 2y agoThe link should go here I think: https://github.com/apple/corenet/tree/main/projects/catlip https://github.com/apple/corenet/tree/main/projects/catlip
- seanvelasco 2y agosomewhat related, i came across this, mlx examples for openai clip: https://github.com/ml-explore/mlx-examples/tree/main/clip https://github.com/ml-explore/mlx-examples/tree/main/clip curious to know how fast catlip is. the above using openai clip is already fast.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- ipsum2 2y agoIt's interesting that Apple also actively develops https://github.com/apple/axlearn https://github.com/apple/axlearn, which is a library on top of Jax. Seems like half the ML teams at Apple use PyTorch, and the other half uses Jax. Maybe its split between Google Cloud and AWS?
- josephg 2y agoIn my experience, this is pretty normal in large companies like Apple. Coordination costs are real. Unless there's a good reason to standardize on a single tool, its usually easier for teams to just pick whichever tool makes the most sense based on the problem they're solving and what the team has experience with.
- tomComb 2y agoBig companies like Apple yes, but not Apple
- te_chris 2y agoI don’t know as haven’t worked there, but have always heard Apple described more as a series of companies/startups than one coherent entity like Meta or whatever. Each is allowed a large degree of autonomy from what I’ve heard.
- flawn 2y agoaka Google some years ago (don't know about now...)
- leodriesch 2y agoHow does this compare to MLX? As far as I understand MLX is equivalent to PyTorch but optimized for Apple Silicon. Is this meant for training MLX models in a distributed manner? Or what is its purpose?
- dagmx 2y agoJust skimming the README it looks like it’s a layer above MLX. So looks like a framework around it to ease ML
- ipsum2 2y agoIt's a layer on top of PyTorch, and it has code to translate PyTorch models into MLX.
- Mandelmus 2y agoSo, is CoreNet the equivalent of Keras, whereas MLX is the Jax/PyTorch equivalent?
- hmottestad 2y agoSounds reasonable. Apple writes the following about MLX: "The design of MLX is inspired by frameworks like NumPy, PyTorch, Jax, and ArrayFire."
- ipsum2 2y agoNot quite. The closest equivalent would be something like fairseq. It's config (yaml) driven.
- simonw 2y agoIt looks like MLX is a part of this initiative. https://github.com/apple/corenet https://github.com/apple/corenet lists "MLX examples" as one of the components being released in April.
- reader9274 2y ago
- jn2clark 2y agoI would love an LLM agent that could generate small api examples (reliably) from a repo like this for the various different models and ways to use them.
- benob 2y ago> OpenELM: An Efficient Language Model Family with Open-source Training and Inference Framework https://arxiv.org/abs/2404.14619 https://arxiv.org/abs/2404.14619 Apple is pushing for open information on LLM training? World is changing...
- tzakrajs 2y agoWe are all starting to better understand the ethos of their engineering teams more generally.
- javcasas 2y agoLooks at Apple: CoreNet Looks at Microsoft: Net Core My inner trademark troll demands a bucket of popcorn.
- pixl97 2y agoHeh, when I saw this post this is the first thing I thought.
- steve1977 2y agoTo be fair, Apple has a long tradition of naming frameworks Core Something, e.g. Core Foundation, Core Graphics etc. I think these had their initial releases even before .NET Framework 1.0 (and so even longer before .NET Core) so Apple could probably claim "prior art" or whatever this would be called (IANAL).
- orena 2y agoThe style is not very different than NeMo(nvidia)/fairseq(Facebook)/espent(oss) etc..
- m3kw9 2y agoOk, why would anyone use this when you have industry standard methods already?
- RivieraKid 2y agoWhat library would you recommend for neural net training and inference on Apple M1? I want to use it from C++ or maybe Rust. The neural net will have 5M params at most.
- the_king 2y agoI would use Pytorch as your starting point. Its metal backend is pretty quick on Apple Silicon, and it's the most widely used library for everyone from hackers to foundation model builders.
- deleted 2y ago[deleted]
- big-chungus4 2y agoI went through their folders, they have have a lot of classes that just inherit from pytorch and torchvision classes and seemingly do nothing new. All optimizers, schedulers and most layers do that. They do however have a reasonable amount of blocks, i.e. specific combinations of layers from various papers, similar to monai.networks.blocks. Out of "building pieces" they also have a few newly implemented losses, metrics.
- irakeshpurohit 2y agoanyone have this hosted so anyone can try this out?