The Mycroft Personal Server - Starting the Conversation

It is WAY to early in the game to make any specific hardware recommendations. We need to keep an eye on price, but given that there is an option that is essentially free (just using Home) I don’t feel like that needs to be the primary decision maker.

Given the history of computing, if we push out a stack of software that runs on a system that costs $X next spring then we can fairly expect it will be able to run on a system that only cost half that within 18 months. And remember, the software itself is also progressing very rapidly. The DeepSpeech memory requirement dropped from something like 6GB to a few hundred MB, for example. This was exceptionally huge, but I’m certain there will be other significant software optimizations.

This is also part of the “does it have to be NVIDIA” discussion. Today TensorFlow only works with some GPUs, but I’m certain that is going to change over the next 6 months. A year ago there was no way to run TensorFlow on a Raspberry Pi, but now we have TensorFlow Lite. Is it exactly as capable? No. But many things can be done with it with minor modifications.

3 Likes

Hi Steve, Valid points and I hear what you are saying. I think it’ll be a case of when you are ready then the team of testers will see what we have to hand that will suit as test platform. I think that what you can draw from this is there is a keen interest for this development.

Of course another argument would be if, for some reason, your cloud processors were taken off line, then we all have dead Mycrofts. :open_mouth::disappointed_relieved: Perish the thought! However, something is funding their runtime and I’m sure its not cheap.

Shout when you are ready. :grinning:

1 Like

I would LOVE the idea - but I’m actually fearful that this will be feature creep bogging you down.
I’m a privacy freak myself so I’d definitely use it. However, not if it means the product will be less polished because of that.

I’d recommend trying to establish what the core product should be for it’s next development phase.
Seeing that many skills right now are just simple keyword triggers which you can easily clone with “Voice Attack” (basically not requiring a voice assistant at all!) I’d love for mycroft to actually work better and more natural (conversational) before ever even attempting investing tons of effort into a localized server technology.

What is the core product that needs to work brilliantly?
Examples to think about: home automation, media control, setting up reminders, interaction with other “personal assistants” (mobile phones, other mycrofts etc.)

Would a something like the AMD Ryzen 2400G or 2200G which have a built in GPU and are relatively inexpensive be enough?

Limited compute units plus shared RAM likely mean the 2X00G aren’t that great, but try it and see? There’s some official support for running tensorflow on ROCm:

Forgot the other links:
https://github.com/szilard/benchm-dl (referenced from https://www.reddit.com/r/Amd/comments/7pw33j/did_someone_usetested_an_amd_graphic_card_with/)

1.10 tf docker image for AMD gpu’s:
https://hub.docker.com/r/rocm/tensorflow/

I think that we need to be very mindful of why we would want a private server in the first place. I know there are those that have privacy fears but on account the most likely thing a hacker may intercept is a request for what the time is, then is this really a problem? No, I think the real advantage of a private server is to cut the latency between asking something and Mycroft responding. The advantage can be clearly seen by running the CLI and entering requests on the keyboard. But, if you don’t build yourself a machine with, at least, the same single user performance that the cloud system can muster then the whole point of doing this is lost. Worst still you have a raised electricity bill to add to the mix. Therefore I suggest we wait to find out what the base specification for the hardware platform is before investing in hardware. Those that have hardware already to hand can experiment to help Steve and the team. It would not do well for moral if one sheds out on a stack load of hardware, only to find that either it didn’t suit or it was a massive overkill.

1 Like

I would just like something more responsive than home.mycroft, which I have not had good luck with.

A good portion of the time I try to interact home it I get a pop up which says the service is down, with no explanation on what that means. Will my changes be made eventually, or do I need to do them again? It would be nice to know.

1 Like

I’d like to take part in implementing a personal server. I guess a good starting point would be for you to release the internal api documentation, so we as the community can start rebuilding the internal api. Instead of having to reverse engineer it :slight_smile:

1 Like

There’s currently some information available in our Message Bus documentation;

Hi Steve.
I think a personal server is a great idea.
I’m not a programmer but having been around since MSDOS and DRDOS days, I’m not scared to copy and mess around with lines of code to get simple tasks done.
I use Ubuntu now and often jump into terminal for various basics.
I’d be happy to contribute to a crowdfunded project to develop a server and help knock up some user friendly guides and how-to’s

I wouldn’t think of it as a “personal” server; assuming the final hardware requirement is realisable as a portable device, then there are lots of organisational deployment possibilities, where not only might the need be for something that works without Internet, but also something that is LAN-only for sensitive operations, as well as response time improvements that being local should bring.

1 Like

I would like to add a pinch of salt about docker images, I think it’s a great idea but, it could be great also to have that on more than one plateform, I mean, these days (and more on the days an month to come), there are SBC not-cheap-but-not-very-expensive-either on the market with hardware support for tensorflow (and it does not suck 100W of power).
Maybe doing some Yocto BSP that should compile everything needed to run the “personal server”. (so, the geeks could be geekin’, the no so geeks download a pre made image, and those we run a full fledge server use docker images)

Personally I love the idea of a personal server. However, not many people are going to have a spare GPU computer at home - especially outside of the US. Might it be possible to create a device, or incorporate into one of the Marks (say Mark 3)?

I think this is an exciting idea and something that can really put voice assistants in a place to truly protect people’s privacy.

I’d say that I hope you’ll consider it less a server and more of an appliance. Make sure it has image based updates that are reliable (no apt, no pip). Make sure it has no shell login or root user (no ssh). Make sure the images you expect people to be using at home are the same as those in the cloud (with a different configuration).

I would also love to be able to buy a box with whatever hardware you decide that I could place next to my router and would be my “Mycroft Brain.”

I also recently discovered that Docker isn’t useful as an approach for the general Windows user. Windows Pro is required for the latest and greatest Docker to work today, although some are talking about figuring out an option to not need that.

I think the reality we have to plan for is that most “gaming” PCs in the world are still Windows, for now, and that will be a sizable portion of the market for a long time.

I’m opposed to making more hardware as a first step. It is always WAY more difficult than you think.

2 Likes

Sorry if I implied making hardware is the first step, but I think that what is important is taking a strategy of building an appliance rather than a server. You can, for instance, build something like an LXD image that is bootable and usable on a Linux machine, and itself is an appliance. There is no reason you need HW to develop in that manner. The important parts are to not assume any shell access or commands needed to upgrade, maintain or use it. The HW can come later.

Hi Steve, Hello Mycroft crowd,

I just wanted to say hello (first post) and that the possibility to host the necessary services in my own rack was one of the main reasons for kickstarting the campaign.

So yes, this part of the project is really important to me and I think it would also be a good possibility for getting some money in the long term.

I like the idea of paying cash for software maintenance and not via (meta?-)data for a service.

My development know-how is far too old and being honest not worth mentioning but maybe I can help a little bit with my sysadmin & infosec skills.

So, after reading some posts and hopefully find some useful stuff in the document area I hope that I can support a little bit.

regards

Klum Pat

1 Like

But the Personal Server can or cannot be for windows. I mean, I don’t see Windows users -specially the gamers- installing and configuring a server of… well, of nothing at all. They are vastly consumers so I think the personal server must target just Linux, so docker can live perfectly. It comes to my mind the game servers of windows-only games, which are mainly linux servers.