secretsauceai / secret_sauce_ai

Secret Sauce AI: a coordinated community of tech minded AI enthusiasts
Apache License 2.0
65 stars 5 forks source link
ai machine-learning ml nlp voice-assistant

Secret Sauce AI

tl;dr a coordinated community of tech minded AI enthusiasts

Secret Sauce AI Overview

Secret Sauce AI is a coordinated community of tech minded AI enthusiasts working together on projects to identify blockers and improve the basic open source tools and pipeline components in the AI (voice) assistant pipeline (wakeword, ASR, NLU, NLG, TTS). The focus is mostly geared toward deployment on edge devices and self hosted solutions. This is not a voice assistant project in and of itself, rather Secret Sauce AI helps AI (voice) assistant projects come together as individuals and solve basic problems faced by the entire community.

Although this community is focused on developers and data scientists in the FOSS (voice) AI assistant community, we hope our projects will trickle down to end users. If you are reading this as a casual reader, it is recommened to read the introduction to voice assistants first to have a bit of background on this subject.

Ingredients

Secret Sauce AI is made out of 3 main ingredients:

Community

We are nothing without the community behind us, and this is why community always comes first. There are (currently) 4 defined roles:

Our current focus is on developers and data scientists. These are the folks that are building the technology that will trickle down to tinkerers and users.

Are you a developer or data scientist interested in joining our community?

After reading through our program overview and other relevent links:

I'm a tinkerer or user, what about me?

We don't want to leave anyone out, but our scope is currently pretty limited in engaging users and tinkerers. You can always write me (Bartmoss) directly on reddit or you can check out many of the projects built for users and tinkerers alike by our community.

Member Projects

A lot of our Secret Sauce AI members build FOSS voice assistant software. It is always worth checking their software out. We just love this community!

Program

A community must coordinate to be more than the mere sum of its parts. We believe heavily in Agile management, but with an open source twist. Applying traditional project management practices geared toward business doesn't always work well in a free and open community made up of people who work on a voluntary basis out of a deep seated passion for AI. Therefore, we try to reduce the risks of these kinds of projects and focus on bringing maxmimum value by rapidly prototyping over building end user solutions. By engaging the community at large and showing the value of the deliverables, those prototypes can trickle down to power future AI in software for end users.

Projects

Philosophy

Values

Principles

To completely respect a user's privacy while collecting data, we find that it is best to keep the data on the user's system and run the machine learning totally locally.

A similar approach when applied to running model inference locally is called TinyML. We call our approach TinyML+, the plus stands for training. With this TinyML+ approach, we can fulfil the principle of AI.

In the TinyML+ learning cycle, data is collected from the user, a model is trained from the data, the model is used by the user where defects can be found, and further data collection leads to a closed cycle of learning.

Simply put: instead of general models based on collection of user's personal data, the data stays on the user's device where it is used to train a model locally.

This local model belongs to the user, just as much as the data used to train this model.

As the system collects more data, it improves. This accomplishes our value of user privacy while creating AI that can learn and grow.

For the casual reader: introduction to voice assistant data pipelines

For the casual reader, these subjects can be hard to understand (how voice assistants actually work can be quite complicated), but since it seems there is a lot of interest about our projects from casual users, let's introduce this subject. let's start with some basic vocabulary.

Key vocabulary

Voice assistant pipeline

Voice assistant pipeline Let's take a look at the basic components. It starts with a user who wants to 'wake' the voice assistant. Once the system is listening, the user speaks the utterance and it's transcribed. After transciption it is processed for intent to figure out the meaning. Once the meaning (intent) has been extracted from the utterance, the voice assistant does the requested task triggered by the intent. A response is generated which is spoken by the text to speech system.

Let's walk through a concrete example: a user wants to wake up the voice assistant and ask 'what's the weather like in Munich tomorrow'.