Posts

Showing posts from November, 2024

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 conta...

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:...

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

Deleting a specific site's cookies from Chrome

Image
Having problems with a specific website that used to work?  Does the site work when visited in incognito mode?.   Deleting the cookies for just that site  might fix the problem without removing info for other sites.  Warning:  This removes any "remember me" or persistent session state for that site. Chrome > Settings  This page is  chrome://settings Privacy and security > Third-Party Cookies This page is  chrome://settings/privacy See all the site data and permissions This page is  chrome://settings/cookies Delete the Cookies for an individual site. This page is chrome://settings/content/all 1. Find the problem site by scrolling or searching by domain name Ex: foocompany.com 2. Delete that site's cookies by pressing on the trash can.  Do not hit Delete all data Fini Retest the web site for which you deleted the cookies. Revision History Created 2024/11

Learning about ML training with the NVidia Workbench Example Kaggle Competition Kernel

Image
Kaggle runs different machine learning or data science competitions. You can participate using their containerized environments or by coding locally. NVidia simplified working locally, or in your own cloud, with an AI Workbench-compatible  example Kaggle competition kernel . Their project contains everything needed to download competition data from Kaggle, run train/test cycles, and then upload the results for evaluation. I love this dockerized project because it lets me play in a competition sandbox on my local machine with no local configuration changes to my development machine The  Handwritten Digits Recognizer  competition is an open-ended competition trainer. Kaggle provides images of handwritten digits. You train against the training dataset and test against the testing data set. Then run your trained model against the candidate digits of the competition submission set and upload the results to the Kaggle competition. The  NVidia Workbench example Kaggle ...

The value of technical conferences can vary widely based on their intent and how you attend

I was recently whining to the "home budget office" about being unable to justify personally paying the entry fee for this year's re:invent. AWS evolves so quickly that I feel obsolete after being heads down for a year not running my technical radar against their continual announcements. I wanted to use the conference as an info dump to stay relevant to keep future options open. Would the information boost and brain stretching be worth the cost? The main question when thinking about attending a conference is the "information density"/"cost" ratio. Are there enough immediate takeaways to make it more than a technical vacation? The default large vendor conference attendance pattern is easy but has low information density. This attendance pattern isn't justified if it is all I do. Attending the Keynote and the large talks can all be done at home. Thousands of re:invent sized event attendees watch the Keynote remotely anyway because there isn't a...