Posts

Leveraging Brev SSH credentials to plug local tools into Brev managed instances

Image
Brev authentication and 'brev shell' create credentials we can use with other tools, like NVidia AI Workbench, to let them SSH into Brev instances. This is useful for those needing something beyond the canned models or provided Jupyter Notebooks YouTube short description of the SSH credentials and host info Revision History Created 2024/11

The Brev GPU/CPU marketplace topology that can be seen by users

Image
A quick explanation of the pieces of Brev visible to external users and how they fit together.  YouTube: A simplified view of the Brev GPU marketplace that are touched by users Revision History Created 2024/11

Start to finish running AI Workbench project in cloud GPUs with Brev

Image
 I wanted to run an ML project in a bigger environment than I have in my homelab.  I don't have any cloud accounts but can rent GPU capacity via the Brev GPU/CPU marketplace. I just needed to get it there. The project itself is fully containerized and available on git as an AI Workbench project.  This means I just needed to install the AI Workbench server code on a Brev rented GPU instance and then attach to that server over the provided network tunnel.  My local AI Workbench can then manage and run my project remotely from my Macbook. All the steps Some of these steps will be automated in future NVidia AI workbench releases.  Use this diagram to follow along in the video. Video Revision History Created 2024 11

Build Test Adapt Check - When will I know if it works

Image
Starting with a good foundation puts us in a position to step into a build/test/check/adapt iteration loop that drives an expanding and improving product or experience. The key is to figure out how to measure success from the customer, organization, regulatory or privacy, and other non-functional requirements perspectives. We want to optimize the Build - Test - Adapt - Check  cycle in order to make good changes with a short cycle time. Hopefully, I'll add the content of this talk in the future.  Until then you have the diagram and the video. Video Here is the video where I go over the diagram. Revision History Created 2024 11

Walking through the NVidia AI Workbench's Kaggle competition kernel example project

Image
The NVidia AI Workbench team has created a prototypical workspace for those wanting to participate in Kaggle competitions while running on their own hardware.  NVidia created a workbench project,  NVidia Competition Kernel on GitHub , that integrates Kaggle's GPU container images along with Jupyter Notebooks that interface with Kaggle. The Kaggle images are the same ones they use in their data scientist environment. The project is configured to participate in the continuous, training, Digits competition where you train a model to recognize handwritten numerical digits. NVidia created the project in a way that can be used in other competitions of the same class.  Three Notebooks Downloads the Training and Submission data Creates a model and trains the model using the training data. The notebook tunes the model against the training data. Then, it evaluates the Test data to generate what it thinks are the matches. The matches are written to a file. Uploads the CSV file containing its

You really know it only once you can teach it

Image
Teaching someone else makes clear what you really know.  You fully understand it when you can explain it to others. Teach others lays bare the wholes in your knowledge and where your assumptions were enough "to get by". Image by Adobe Revision History Created 2024 11

Take bed motion into account when printing narrow parts

Image
This is a bit embarrassing but I printed a chainsaw cosplay blade the other day and it went great.   Then I re-sliced and reprinted.  The 2nd print set failed when one of the pieces lost adhesion. It fell over .  Part of the reason that happened is because I laid out the pieces aligned such that the narrow axis of the part was in the same direction as the bed movement.   I then re-sliced oriented so that the parts lined up in the direction of motion and it printed without problems. Rafts and supports are great but sometimes you can help yourself by picking the right part/axis alignment. Video Short Revision History Created 2024/10

Telling people "silence is acceptance" when we ask for input and they never reply

Image
Everyone needs to provide input or feedback when we are spinning something up, troubleshooting something, or digging in. They should raise disagreements, tune the plan, or otherwise get involved because eventually, it will become their plan. To achieve the best results, we need to provide enough time, the appropriate venues, and the means for providing that feedback and participating in the decisions. Once provided, it is on them to speak up if they have any issues. Sometimes we have to make it explicit to get people to pay attention. "You have agreed to this path if we don't hear from you by that date. Your silence in this matter is acceptance." Opting out of the results is not an option. Video Other There may be alternative views depending on the environment but that is for another time. Silence is Acceptance Silence is Apathy Silence is Antipathy Silence is Avoidance Revision History Created 2024 11

4 easy ways to GIT in AI Workbench and Jupyter Notebooks (0.86.20 edition)

Image
I struggled initially to manage my ML and data science projects when running them in the NVidia Workbench. The built-in GIT interface was basic  and fine for basic operations but I found it frustrating for branching and merging.  I ended up using tools that ran inside the Workbench Container instead of the Workbench itself. Workbench SVC support continues to improve but I use the other tools discussed while watching Workbench improve. Here are the 4 ways I've explored. The AI Workbench UI This NVidia AI Workbench interface is a work in progress.  The latest version adds git diff  capabilities, a big improvement.  This UI is still simple and intended for basic file commits.  Use something else if you need advanced git control or merge functionality. Jupyter Notebook Extensions There are a few different Jupyter Notebook extensions. Some, like jupyterlab-git,   add themselves to the Notebook UI toolbar. Here is the left gutter interface for extension:  jupyterlab-git. It feels like a

Shelling into a containerized Jupyter Notebook environment directly from the notebook

Image
Somehow I've missed that Jupyter Notebooks provides a shell into the container with a simple mouse click.  No more scrambling to the command line looking for the container name and then running a container connect. Starting the terminal via Launcher Using the terminal for command line GIT Demonstration Revision History Created 2024/11