Live data from Hacker News

Show HN: A fully open-source (Apache 2.0)implementation of llama

github.com

41–50 of 53 posts

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#41
post #39

FYI, there's something fishy going on in this thread. Multiple people from the LightningAI team theaniketmaurya (developer advocate for Lightning AI) and rasbt (developer at Lightning AI) are shilling for this post without disclosing their affiliations. The account that submitted this (osurits) also only has two comments, also with the same behavior. Having interacted with the Lightning AI team in the past, this is u…

If you suspect vote manipulation, email hn@ycombinator.com. Dang is good about replying to email and he has server-side logs available for more investigation.

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#42
post #38
post #28

Earlier quoted context omitted.

The AI ecosystem is almost entirely Apache 2/MIT/BSD, and GPL is just incompatible with it. This is a blocker to mixing and matching, a simple Apache 2 rewrite fixes that problem. Weights? It’s another issue but we’ll be looking forward to fixing that too.

How is it incompatible? You can use code under all of those licenses in a GPLd work.

You can’t close down GPL code as you see fit. Irrevocable openness is scary for AI community, it seems.

Telling…

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#43
post #24
post #23

Earlier quoted context omitted.

I think OP mischaracterized the issue with the license, its more that the weights don’t fall under the same scope. They’re research use only, no commercial use allowed.

Not sure, but I think the point was that if you have something in GPL license (like the code in this case) it's open source, but that doesn't mean you can use that for your business application. That's because GPL requires you open sourcing all derivative work and most businesses don't want to/can't do that.

Does AI output constitute derivative work of the AI? Would be interesting…

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#44
Just noting that HuggingFace has a Llama code implementation[1]. It's also under an Apache 2 license.

While this seems to be nice code I don't particularly see any reason to use that over HuggingFace transformers, where you can easily swap out alternative implementations.

Also, going to legal restrictions on the Facebook LLama code when there are much stronger restrictions on the use of the model seems an odd thing to do. It's true that in some - not all - jurisdictions it is possible the model might not be copyrightable - but you'd have a bold legal department to rely on those arguments. It's also moderately likely that an instruction-tuned Llama (like Alpaca) would be copyrightable even in those jurisdictions.

TL;DR: Use the HuggingFace transformers library. You can experiment with Llama and switch to truly free models like GPT-J or anything new that arrives very easily.

[1] https://huggingface.co/docs/transformers/main/model_doc/llam...

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#45
post #10

IANAL, but this seems very fishy to me: 1) I don't understand how this isn't a derivative work of the original code, as I very highly doubt you've done a clean room implementation. I doubt this would hold up in court. 2) Doesn't the original FB license also apply to the weights? Just re-implementing the code would not change the license on the weights. So while THE CODE may now be re-licensed, the weights would still…

This is the clearest example of an attention grab I have seen - it does nothing for commercial use of Llama unless they provide a version of the weights produced by them and not Facebook. (and they don't...they ask you to download them from Facebook's repo)

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#46
> We believe that AI should be fully open source and part of the collective knowledge.

As do I.

> The original LLaMA code is GPL licensed which means any project using it must also be released under GPL.

Yep. This ensures that AI is "fully open source and part of the collective knowledge."

> This "taints" any other code and prevents meaningful academic and commercial use.

Taints? As in "makes fully open source"? Isn't that the goal?

> Lit-LLaMA solves that for good.

Lit-LLaMA helps people create proprietary closed-source AI instead of the fully open source AI required by Llama. Okay.

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#47
post #8

Llama by FB is under a non-commercial license not a GPL license, so I assume you are using a different base model, what model is that?

The reference inference code is GPL.

https://github.com/facebookresearch/llama/blob/main/LICENSE

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#48
post #22

I think implying that GPL is not "fully open source" is a hot take. It's specifically designed to ensure you and anyone you distribute your code gets the same freedoms. Maybe you don't agree that it's a good license but that is its intention. GPL vs BSD-type licenses I guess is decades long argument by now. Maybe I'm a naive idealist but IMO the GPL-family of licenses are underrated. You can use them to make sure you…

As far as I'm aware the GPL/BSD license argument is basically dead now and people just use whatever. In retrospect it seems to be less an argument about whether or not copyleft clauses are bad and more to do with Berkley not wanting to deal with RMS.

>Commercial interests are very allergic to AGPL which ensures the project stays community-run

Mostly because AGPL is not a Free license unless you take great pains to build license compliance into the program that you ship. If you don't do this, then people who want to modify your code need to first build the license compliance mechanism before they can do anything else. This is not how any other Free license works. And compliance is not always obvious, either. Hector Martin has documented a few different cases of terrible AGPL uses. My favorite is an Ethernet PHY[0], which practically speaking cannot offer AGPL source in the way the license intends. AGPL only works for one particular use case, which is web[1] applications written in an interpreted language that can introspect its own source code. So Perl, PHP, and Python to varying degrees.

Also, let's keep in mind that Stable Diffusion's weights are licensed under a moderate copyleft with a morality clause - CreativeML OpenRAIL-M. Morality clauses are incompatible with all flavors of GPL, and the "program" clause in GPL is vague enough to encompass the model weights. At least, assuming that the model weights are copyrightable, which they might not be. Morality clauses are also non-free, though I'll settle for "don't use this for political disinformation campaigns or porn" over "pony up for our hosted API where we can enforce new morality clauses whenever we like".

If you want a no-corpos license, then don't use a license at all[2]. Non-commercial clauses will also work since they effectively confer no rights[3]. Keep in mind that anyone who can gain sufficient copyright interest in the code can sue, and that AI art tends to be a bottomless well of scenesters. I'd rather not subject ordinary users to legal risk, though.

If you want a "service provider loophole-proof" license, use the OpenWatcom License. It is far less ambiguous and has a reasonable compliance path: if you use the software you have to publish source. Period. It's simple, it does what the AGPL set out to do, and people would use it if it wasn't for Stallman saying this:

> This is not a free software license. It requires you to publish the source code publicly whenever you "Deploy" the covered software, and "Deploy" is defined to include many kinds of private use.

This sounds like a fixable problem: just make the clause only trip on modification, so that if you use a modified version privately you have to publish those modifications, but unchanged software doesn't have to be published. Someone hosting unmodified versions of the software isn't a threat to software freedom, and we consider Freedom Three more violable than Freedom Zero - that's why we tolerate GPL and why AGPL was drafted. But as far as I'm aware such a license does not exist and the few people interested in Extremely Strong Copyleft just use AGPL despite its flaws.

[0] https://social.treehouse.systems/@marcan/110038008055623292

[1] Hector Martin has also posited working around the AGPL's requirement to provide source on network access by putting the web app behind a reverse proxy that hides the source. I am not willing to test this by getting sued by the Mastodon developers.

[2] The various Silly Licenses might work as sufficient corporate deterrent insamuch as a court is willing to disregard them.

[3] Specifically, there is no copyright definition of noncommercial use, and most copyright laws assume that the mere utility of the work in question is inherently commercial. There is no "as long as they aren't making money off of it" license because not having to pay for the work is considered making money off of it.

To be pedantic, Creative Commons -NC does state that filesharing is non-commercial, so that can be interpreted as a "BitTorrent only" license clause.

Re: Show HN: A fully open-source (Apache 2.0)implementation of llama

#49
post #17

There are already a million ways to run LLaMA. This doesn't change the issue at all, which is that the weights aren't commercially licensed.

Yes, agree that the weights aren't commercially licensed (yet)! The other ways to run LLaMA are using GPL license which makes it difficult for commercial use even if someone trains and upload the weights publicly. This could be a step in for the change :)

Please, train your model on some texts about copyright, licenses, open source licenses, GPL, because it produces nonsense.

1) GPL license is not an engine. It cannot run anything.

2) A product, produced by a code or machine or mechanically, is not copyrightable at all, or it has license of it original source. You can create GPL products on MS Windows using MS compiler. You can create proprietary products on Linux using GNU compiler.

A binary output of a program, produced by a compiler such as GCC, is the derivative from it source code, so it has the same license as the source code. The compiler just transforms the text source file into the binary output file.

For AI, the situation is the same: AI engine transforms a source data set into a binary file with weights, so binary weights is the derivative from source data set, thus its license is the same as in the original source set.

When AI engine runs weights, it transforms an input query into output using also data from the source data set, thus creating a product with mixed content, which must obey licenses from both sources.

Post reply on HN