• 0 Posts
  • 6 Comments
Joined 10 months ago
cake
Cake day: January 10th, 2024

help-circle

  • I use machine learning/ai pretty much daily and I run stuff at home locally when I do it. What you’re asking is possible, but might require some experimentation on your side, and you might have to really consider what’s important in your project because there will be some serious trade-offs.

    If you’re adamant about running locally on a Rasberry Pi, then you’ll want a RPi 4 or 5, preferably an RPi 5. You’ll also want as much RAM as you can get (I think 8gb is the current max). You’re not going to have much VRAM since RPi’s don’t have a dedicated graphics card, so you’ll have to use it’s CPU and normal RAM to do the work. This will be a slow process, but if you don’t mind waiting a couple minutes per paragraph of text, then it may work for your use case. Because of the limited memory of Pis in general you’ll want to limit what size LLM models you use. Something specialized like a 7b story telling LLM, or a really good general purpose model like Mistral Open Orca 7b is a good place to start. You aren’t going to be able to run much larger models than that, however, and that could be a bit creatively limiting. As good as I think Mistral Open Orca 7b is, it lacks a lot of content that would make it interesting as a story teller.

    Alternatively, you could run your LLM on a desktop and then use an RPi to connect to it over a local network. If you’ve got a decent graphics card with like 24gb of VRAM you could run a 30b model locally, and get decent results fairly fast.

    As for the 10k words prompt, that’s going to be tricky. Most LLMs have a certain number of tokens they can spit out before they have to start up again. I think some of the 30b models I use have a context length of 4096 tokens… so no matter what you do you’ll have to tell your LLM to do multiple jobs.

    Personally, I’d use LM Studio (not open source) to see if the results you get from running locally are acceptable. If you decide that its not performing as well as you had hoped, LM studio also generates python code so you could send commands to an LLM on a local network.


  • A VPN is a great start, but there’s a few things you can do to make yourself a bit safer.

    I like Mullvad for it’s client that allows me be in a lockdown mode where access to the internet can only go through a VPN. It’s a killswitch and you’re going to want one no matter who provides your VPN. The reason you want a kill switch is because your computer may otherwise connect to your home or office network and leak your IP address.

    If you torrent you’ll want a torrent client like qBitTorrent because under advanced settings in that program you can set it to only work on your VPN’s network interface. This adds a second wall of protection to make sure you don’t leak your IP address.

    At this point your ISP isn’t going to know any much more than you’re using a VPN and torrenting, but that’s all. And you’re probably good right here, but there’s more you can do if you’re really worried.

    By tweaking some wireguard settings in the Mullvad client you can even obscure your torrenting traffic altogether. At that point your ISP won’t have much more to report than that you’re using a VPN.

    You’ll then want to test your VPN is working well with your torrent client by using Torrent Tracker IP Checker or something similar. Verify that your IP is what it should be.

    And if you’re feeling extra motivated, doing all of this on a separate computer running linux would be ideal so that you can ensure no software running on your rig deanonymizes you, and can keep it locked when not in use.


  • I’ve been messing around with running my own LLMs at home using LM Studio and I’ve got so say it really helps me write code. I’m using Code Llama 13b, and it works pretty well as a programmer assistant. What I like about using a chatbot is that I go from writing code to reviewing it, and for some reason this keeps me incredibly mentally engaged. This tech has been wonderful for undoing some of my professional burnout.

    If what keeps you mentally engaged does not include a bot, then I don’t think you need any other reason to not use one. As much as I really like the tech, anyone that uses it is still going to need to know the language and enough about the libraries to fix the inevitable issues that come up. I can definitely see this tech getting better to the point of being unavoidable, though. You hear that Microsoft is planning on adding an AI button to their upcoming keyboards? Like that kind of unavoidable.


  • Hey OP. I’m a bit late to the party, but I figure I’ll throw in my two cents.

    Generally speaking, you’re going to want a VPN (I suggest Mullvad), a torrent client (I suggest qBitTorrent), a NAS (for storing data), a movie server (Jellyfin is great), and something that can connect to your streaming server.

    I suggest Mullvad as a VPN because 1. it’s a no log service, 2. you can pay for your subscription using Monero (a type of private/anonymous crypto), and 3. it has a “Lockdown mode” which will block any traffic from your PC that isn’t routed through your VPN preventing IP leaks.

    I suggest qBitTorrent as a torrent client because it has an advanced setting that allows you to specify which network interface is used for torrenting. You’ll want to set that to the virtual network that Mullvad creates so that even if for some reason your VPN goes down, your torrent client won’t leak your IP.

    For actually hosting movies you’ll want to store them somewhere. Network attached storage is good for this. I built my own using a raspberry pi, and it’s separate from my torrenting PC, but there’s no reason you couldn’t also configure your torrenting PC to also be a NAS. If you don’t want to think too hard about a NAS, there are companies like Asustor make premade network storage.

    For actually hosting movies you’ll want something like Jellyfin running on a computer that has access to where your movies are stored. Again, Jellyfin can run on the same computer that’s running your NAS, and your Torrent client. It can all be the same computer. This step may require some configuration on your part. You may want to give your Jellyfin server a static IP so that your devices will automatically reconnect if your router resets.

    Finally, you’ll want to actually watch your movies. I have Roku boxes in my house, so my setup for this was downloading the Jellyfin app, and then typing in the local IP address of my Jellyfin server. You don’t necessarily need an external box for this, Android TVs can install the Jellyfin app.

    And that’s a kind of high level example setup. There’s other things that you can do that’ll make your setup more secure like properly configuring wireguard in mullvad to obfuscate your traffic so that your ISP won’t know that you’re torrenting through a VPN, or encrypting your NAS data, but that’s something you should decide if it’s worth doing.