• 0 Posts
  • 61 Comments
Joined 9 months ago
cake
Cake day: December 16th, 2023

help-circle

  • From the approach section:

    A Transformer sequence-to-sequence model is trained on various speech processing tasks, including multilingual speech recognition, speech translation, spoken language identification, and voice activity detection. These tasks are jointly represented as a sequence of tokens to be predicted by the decoder, allowing a single model to replace many stages of a traditional speech-processing pipeline. The multitask training format uses a set of special tokens that serve as task specifiers or classification targets.

    This is not sufficient data information to recreate the model.

    From the training data section:

    The models are trained on 680,000 hours of audio and the corresponding transcripts collected from the internet. 65% of this data (or 438,000 hours) represents English-language audio and matched English transcripts, roughly 18% (or 126,000 hours) represents non-English audio and English transcripts, while the final 17% (or 117,000 hours) represents non-English audio and the corresponding transcript. This non-English data represents 98 different languages. As discussed in the accompanying paper, we see that performance on transcription in a given language is directly correlated with the amount of training data we employ in that language.

    This is also insufficient data information and links to the paper itself for that data information.

    Additionally, model cards =/= data cards. It’s an important distinction in AI training.

    There are guides on how to Finetune the model yourself: https://huggingface.co/blog/fine-tune-whisper

    Fine-tuning is not re-creating the model. This is an important distinction.

    The OSAID has a pretty simple checklist for the OSAID definition: https://opensource.org/deepdive/drafts/the-open-source-ai-definition-checklist-draft-v-0-0-9

    To go through the list of materials required to fit the OSAID:

    Datasets Available under OSD-compliant license

    Whisper does not provide the datasets.

    Research paper Available under OSD-compliant license

    The research paper is available, but does not fit an OSD-compliant license.

    Technical report Available under OSD-compliant license

    Whisper does not provide the technical report.

    Data card Available under OSD-compliant license

    Whisper provides the model card, but not the data card.



  • The problem with just shipping AI model weights is that they run up against the issue of point 2 of the OSD:

    The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

    AI models can’t be distributed purely as source because they are pre-trained. It’s the same as distributing pre-compiled binaries.

    It’s the entire reason the OSAID exists:

    1. The OSD doesn’t fit because it requires you distribute the source code in a non-preprocessed manner.
    2. AIs can’t necessarily distribute the training data alongside the code that trains the model, so in order to help bridge the gap the OSI made the OSAID - as long as you fully document the way you trained the model so that somebody that has access to the training data you used can make a mostly similar set of weights, you fall within the OSAID

    Edit: also the information about the training data has to be published in an OSD-equivalent license (such as creative Commons) so that using it doesn’t cause licensing issues with research paper print companies (like arxiv)


  • Whisper’s code and model weights are released under the MIT License. See LICENSE for further details. So that definitely meets the Open Source Definition on your first link.

    Model weights by themselves do not qualify as “open source”, as the OSAID qualifies. Weights are not source.

    Additional WER/CER metrics corresponding to the other models and datasets can be found in Appendix D.1, D.2, and D.4 of the paper, as well as the BLEU (Bilingual Evaluation Understudy) scores for translation in Appendix D.3.

    This is not training data. These are testing metrics.

    Edit: additionally, assuming you might have been talking about the link to the research paper. It’s not published under an OSD license. If it were this would qualify the model.










  • You can use nix alongside guix, it’ll just double-up the dependencies on disk:

    services (append (list (service nix-service-type))
                        %base-services)))
    

    Services are, in guix terms, any configuration change to a computer, so creating your own service 99% of the time is just extending etc-service-type and creating a variable interface to fill in the config file text yourself

    Creating a service as in a daemon of some kind uses shepherd and involves extending shepherd-service-type or home-shepherd-service-type with your service description, depending on whether the service runs in root or user space.

    Shepherd service configurations aren’t actually part of the guix spec(https://www.gnu.org/software/shepherd/manual/shepherd.html#Defining-Services), but still use Guile, so you can interoperate them super easily.

    It’s important in guix to understand lisp pretty thoroughly, and knowing how to program lisp is still a very useful skill to have so I’d recommend learning it even if you never touch guix.


  • I use guix because, while it has a small community, the packaging language is one of the easiest I’ve ever used.

    Every distro I’ve tried I’ve always run into having to wait on packages or support from someone else. The package transformation scheme like what nixos has is great but Nixlang sucks ass. Being able to do all that in lisp is much preferred.

    Plus I like shepherd much more than any of the other process 0’s