Back to blog list

My 7 stage Process for AI Product Development

Amazon S3 Team
November 5, 2022
 • 
3
 min read

Introduction

Building several AI products over the years has left me with scars :)
There is a great piece from a16z called “The New Business of AI” which describes the main challenges in developing AI products/companies, the main takeaway is that solving for rear edge cases to reach production can be very expensive and challenging and might kill a company.

And indeed AI has a huge potential to disrupt industries but it takes some work in order to get there and might not be quite aplicable to everything, yet.

Recently there is a lot a buzz concerning generative AI. Some are calling it the real deal and that this time AI will rise to its promise. This could be read on “After A Lot Of Hype, (Useful) AI May Finally Be Here”. A more cautious opinion could be read on “Investors have big plans for generative AI. They should temper their expectations.”

Days will tell. But it’s sure is still challenging to develop an AI based product. But the outcome could be very sweet so many persue it and some deliver.

My Personal Experience

Following is my personal seven stage process for AI development:

  1. 𝐄𝐗𝐂𝐈𝐓𝐄𝐌𝐄𝐍𝐓: WOW, AMAZING, Deep Learning you said? Works right out of the box! Watch it go! With it, I can solve anything!
  2. 𝐒𝐔𝐑𝐏𝐑𝐈𝐒𝐄: Hold on a second, It seems that it doesn’t work for just a few use cases. Let me tweak the model just a little bit.
  3. 𝐃𝐄𝐍𝐈𝐀𝐋: Oh.. interesting, not quite there yet. I’ll add some rare edge cases and retrain the model. It should do the work.
  4. 𝐆𝐑𝐈𝐄𝐅: Oh No! There is no way it will work! I’m terrible at this.
  5. 𝐀𝐍𝐆𝐄𝐑: That’s it. I’m done. Let’s change the product! let’s build a face detector it works with 99.9999% accuracy (I think)
  6. A𝐂𝐂𝐄𝐏𝐓𝐀𝐍𝐂𝐄: Ok, no problem. let’s build our own dedicated infrastructure data/models/serving. We’ll have to do specific tuning per customer of course. If it’ll become too expensive we’ll build our own hardware. We’d also have to do some continuous model training and hire a dedicated work-force per project. You know what, just to be on the safe side, let’s limit the product scope and include humans in the loop (but just for the first two years..)
  7. 𝐉𝐎𝐘: Yay!!! it’s in production! Real people actually use it!!

fastdup

From the start, we wanted to build fastdup differently , we wanted zero-touch integration, scale, very high accuracy, and a great user experience. For fastdup users and for us, we wanted joy from step 1
Our joy at watching what the fastdup community is building (without us involved at all) is immense.

Below are some public use cases that some Kaggle users have discovered using fastdup.

Micro Organisms Dataset
PCB Boards Dataset
Butterflies Dataset
Drugs Dataset
Zebra Fish Dataset
Plastic Bottles Dataset

We thank our community and looking forward to building great things together.

pip install fastdup

Introduction to Image Captioning

h2

h3

Image Captioning is the process of using a deep learning model to  describe the content of an image. Most captioning architectures use an  encoder-decoder framework, where a convolutional neural network (CNN)  encodes the visual features of an image, and a recurrent neural network  (RNN) decodes the features into a descriptive text sequence.

VQA

Visual Question Answering (VQA) is the process of asking a question  about the contents of an image, and outputting an answer. VQA uses  similar architectures to image captioning, except that a text input is  also encoded into the same vector space as the image input.

code
Image captioning and VQA are used in a wide array of applications:
  • point
  • point
  • point

Why Captioning With fastdup?

Image captioning can be a computationally-expensive task, requiring many processor hours to conduct. Recent experiments have shown that the free fastdup tool can be used to reduce dataset  size without losing training accuracy. By generating captions and VQAs  with fastdup, you can save expensive compute hours by filtering out  duplicate data and unnecessary inputs.

quote

Getting Started With Captioning in fastdup

To start generating captions with fastdup, you’ll first need to install and import fastdup in your computing environment.

test text
test text 222

Processor Selection and Batching

The  captioning method in fastdup enables you to select either a GPU or CPU  for computation, and decide your preferred batch size. By default, CPU  computation is selected, and batch sizes are set to 8. For GPUs with  high-RAM (40GB), a batch size of 256 will enable captioning in under  0.05 seconds per image.

To select a model, processing device, and batch size, the following syntax is used. If no parameters are entered, the fd.caption() method will default to ViT-GPT2, CPU processing, and a batch size of 8.

“The  captioning method in fastdup enables you to select either a GPU or CPU  for computation, and decide your preferred batch size. By default, CPU  computation is selected, and batch sizes are set to 8. For GPUs with  high-RAM (40GB), a batch size of 256 will enable captioning in under  0.05 seconds per image.”
Dean Scontras, AVP, Public Sector, Wiz

FedRAMP is a government-wide program that provides a standardized  approach to security in the cloud, helping government agencies  accelerate cloud adoption with a common security framework. Achieving a  FedRAMP Moderate authorization means Wiz has gone under rigorous  internal and external security assessment to show it meets the security  standards of the Federal Government and complies with required controls  from the National Institute of Standards and Technology (NIST) Special  Publication 800-53.

Image captioning and VQA are used in a wide array of applications:
  • ⚡ Quickstart:  Learn how to install fastdup, load a dataset, and analyze it for  potential issues such as duplicates/near-duplicates, broken images,  outliers, dark/bright/blurry images, and view visually similar image  clusters. If you’re new, start here!
  • 🧹 Clean Image Folder:  Learn how to analyze and clean a folder of images from potential issues  and export a list of problematic files for further action. If you have  an unorganized folder of images, this is a good place to start.
  • 🖼 Analyze Image Classification Dataset:  Learn how to load a labeled image classification dataset and analyze  for potential issues. If you have labeled ImageNet-style folder  structure, have a go!
  • 🎁 Analyze Object Detection Dataset:  Learn how to load bounding box annotations for object detection and  analyze for potential issues. If you have a COCO-style labeled object  detection dataset, give this example a try.
By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.