5 ms·
'In fact, they are probably not redistributable unless all the training data is supplied, since the GPL's definition of "source code" is the "preferred form for
by jsty 8y ago
'In fact, they are probably not redistributable unless all the training data is supplied, since the GPL's definition of "source code" is the "preferred form for modification". For a pretrained neural network that is the training data'.
To me, this is the crux of the matter. If the view is taken that software distributed under a "free-software" compatible license is non-free without the ability to obtain all training sets for any models, there's going to be huge difficulty in incorporating ML into free software in many cases. Since many datasets aren't able to be redistributed freely (e.g. licensing, legal, cost), that's an enormous advantage for non-free offerings.
A possible route around this might be 'community curated' datasets, where contributors freely license their data in the same way as we do code. It'd be interesting to see if they come with an analog of the AGPL - ie. models trained on this dataset must be released to the user as source. (This might already exist?)
- sanxiyn 8y agoIn the specific case of Leela Zero, entire training dataset, all 3 gigabytes of it, is available for download at https://leela.online-go.com/zero/ https://leela.online-go.com/zero/
- NhanH 8y agoThe above link actually only has the raw sgf files (game records). The actual training data (output of MCTS search) is here: https://leela.online-go.com/training/ https://leela.online-go.com/training/
- bicubic 8y agoI think an ML model is not free if training dataset is not provided. You can't inspect it for vulnerabilities and you can't modify it in the common interpretation of the word. Whatever difficulties this view presents, this is the only view that makes sense.
- caenorst 8y agoWhat makes you say that you can't modify a model ? And can't inspect it for vulnerabilities ?
- protomikron 8y agoBecause it's nearly impossible? It's like saying you can modify and audit Microsoft Windows or other proprietary software because you can write and read the bytes of its object code.
- caenorst 8y agoThat's not even an argument. Here is one against the claims. Modification: There have been repeatedly successful case of transfer learning where you take a pretrained deep neural network and train on a new dataset (even very small). Vulnerability: you dont need the training dataset to test vulnerabilities, you just either very specific input (that you probably gonna have to create yourself because they are so specific that they are not even in the dataset) or using one input that you corrupt for attacking. And as far as I know it doesn't sound harder than making test for regular algorithms.
- jononor 8y agoThe space of possible inputs to a machine learning model is essentially infinite. This makes it a completely different ballpark than unit testing code, where a small set of tests can cover good amount of interesting cases, and where various coverage metrics can reasonably be used to estimate completeness. It is also hard to generate tests for ML models due to lack of good oracles (detectors of wrong results). Defense against adversarial inputs is still considered an open research problem, I believe.