VibeBuilders.ai Logo
VibeBuilders.ai

We've

Explore resources related to we've to help implement AI solutions for your business.

We've built an AI-powered business building platform, and we're looking for entrepreneurs to try out the MVP!
reddit
LLM Vibe Score0
Human Vibe Score1
UltraIngoThis week

We've built an AI-powered business building platform, and we're looking for entrepreneurs to try out the MVP!

Hey r/sideproject! I'm Felix, co-founder of Buildpad, and we're excited to share our latest project with you. https://reddit.com/link/1eve8n4/video/ahktfda2bgjd1/player Buildpad is an AI-powered (Claude Sonnet 3.5) business-building platform that guides entrepreneurs through every step of creating and growing a business. Here's what makes it unique: Idea validation: Leverage Reddit's API to get real-world data on your ideas through posts, comments and discussions. Structured process: Follow a clear roadmap from idea validation to launch and beyond. Team collaboration: Work with co-founders, all assisted by the same AI. Central context bank: Our AI remembers everything about your project for consistent, informed guidance. We're solving the common problem of entrepreneurs not knowing what to do next, especially during idea generation and validation phases. With Buildpad, you can validate your ideas by searching for relevant keywords across Reddit, helping you understand if people are actually experiencing the problems you're aiming to solve. We're in the MVP stage and looking for early adopters to test the platform and provide feedback. We'd love to hear from you: Does this solution resonate with your entrepreneurial challenges? What features would you find most valuable in a tool like this? Any thoughts or concerns about using AI for startup guidance? If you're interested in trying out Buildpad or have any questions, please comment below or DM me. Thanks for checking it out! buildpad.io

Practical tips on hiring the best people? Which country? Remote vs. In Person?
reddit
LLM Vibe Score0
Human Vibe Score0.5
corporateshill32This week

Practical tips on hiring the best people? Which country? Remote vs. In Person?

Hi Reddit, I run a tech startup that's grown to $20M ARR. While we are relatively big, we are incredibly cash strapped till Q3 due to debt we took on last year and are currently paying back. In Q3, I'll finally have a large budget to sit and focus on building out our team. Now I'm trying to figure out: what are the optimal circumstances? We really screwed it up with our first batch of key hires after our seed round: US Product Manager, US Head of Customer Success - quit; US Head of Sales, US Head of Engineering - fired. We've built a mostly B or C team, and it really annoys me. We are slow, we are not up for big challenges, and people are, on average, not that brilliant. Out of our nearly 150 employees, I think I have ONE A player. However, they are also functioning at 60%. We are building additional "brands" this year, so there might be a way to separate a higher performing culture into our second brand. I have 3 questions, might seem relatively basic, but as we did such a bad job the first time around, I'd love to learn what you all think! I'm trying to build an optimal team with A-players! Q1: Today we are fully remote, should I get an in person office going? In which city? Q2: In general, which city should I hire talent from? I live in San Francisco and sometimes LA, but find the culture here generally too laid back. New York? But to keep a high quality, let's say, marketer, interested long term, they're going to want $200-220k base (and that's not even that competitive). While that is fine, it will slow down my intended plan for hiring. London? Salaries are comparatively much lower, and talent quality is still pretty high, but I am a little unsure of the work culture. In terms of budget, I'd love to aim for $150-180k/key hire and to go as high as $300k if appropriate. Q3: Should I be hiring people with 20 years of relevant experience? 2-3 years with a hunger to prove themselves? Fresh grads we can mould into whatever we need? As for what exactly I'm trying to hire for, lots of key hires: department heads, digital marketers, content people, engineers, AI engineers, operations people, strategy people, and more. I don't know enough about all the working cultures in these places, but I want to find and incentivize people who are willing to own and take responsibility for an area of the business, be trusted to make good decisions, and view it as their responsibility to improve their areas drastically, more than the typical 9-5. I feel today's workforce is not content with base + light equity, and maybe we should consider tying an unlimited-upside incentive to a relevant KPI to incentivize people working harder than just "what is required"? (edit: I know might get some hate for this "work harder than 9-5" mentality, but to clarify, I'm trying to figure out what incentive structures will naturally attract the type of person that wants this type of working life) What do you think? Also, any other practical tips for finding awesome people like this? edit: hooooly! this thread blew up. I'll do my best to reply to everyone, thank you for all your responses!

Why raise in 2025? - I will not promote
reddit
LLM Vibe Score0
Human Vibe Score1
Able_Swimming_4909This week

Why raise in 2025? - I will not promote

I will not promote Lately, I've been thinking about how AI tools are completely reshaping what it means to bootstrap a startup. It honestly feels like we're living through a golden age for entrepreneurs where you don't necessarily need venture capital to build something big or meaningful. At my company, we're a small team of just four people, bootstrapping our AI-focused startup. Thanks to AI-powered tools, we're able to keep our burn rate ridiculously low, quickly test new ideas, and scale our operations way faster than we ever expected. It’s honestly pretty incredible how accessible advanced technology has become, even compared to just a few years ago. Of course, bootstrapping definitely comes with its own share of headaches. For example, we've noticed that funded startups get significantly better access to cloud credits, advertising budgets, and enterprise-level tools. We do have access to some discounts and free resources, but it rarely compares to what funded startups enjoy. This can feel frustrating, especially when you know you're competing directly with businesses that have those extra advantages. Visibility is another major challenge we've noticed. Without big funding announcements or a well-connected investor backing us, getting attention from media or even early adopters can be tough. It's just harder to make a splash without someone else's endorsement. We've had to accept and work around creatively. That said, there's something genuinely empowering about staying bootstrapped, prioritizing profitability, and maintaining control over our vision. After speaking with several investors, we've become aware of how investors can significantly influence or even redirect the trajectory of a business. We've heard stories where investors gained enough leverage to replace the original founders or have killed perfectly profitable businesses that were not growing "fast enough", which certainly gave us pause. They can definitely be helpful but giving the control over the future of my business to someone else would definitely make me feel anxious. At this time, we simply don't feel raising external capital aligns with our current goals, but we're also aware that this could change in the future. For now, maintaining autonomy and staying close to our original vision remains a priority. I'm curious to hear from others here who've been through this. Have you successfully bootstrapped an AI a tech business? What obstacles did you encounter, and how did you overcome them? EDIT: To give you a bit of perspective, my company is a B2B SaaS in the finance industry based in Europe. We have received VC funding in the past but it was an exceptionally good deal and we don't plan to raise in the near future even-thought it may change if we see the need to help us scale. We have also raised a significant amount in soft funding. Right now, we are growing on our revenues, and we plan to continue this trajectory. Recently, one of our developers left, and although we are a small team, we noticed that it had little to no impact on our productivity.

After building an AI Co-founder to solve my startup struggles, I realized we might be onto something bigger. What problems would you want YOUR AI Co-founder to solve?
reddit
LLM Vibe Score0
Human Vibe Score0
Consistent_Yak6765This week

After building an AI Co-founder to solve my startup struggles, I realized we might be onto something bigger. What problems would you want YOUR AI Co-founder to solve?

A few days ago, I shared my entrepreneurial journey and the endless loop of startup struggles I was facing. The response from the community was overwhelming, and it validated something I had stumbled upon while trying to solve my own problems. In just a matter of days, we've built out the core modules I initially used for myself, deep market research capabilities, automated outreach systems, and competitor analysis. It's surreal to see something born out of personal frustration turning into a tool that others might actually find valuable. But here's where it gets interesting (and where I need your help). While we're actively onboarding users for our alpha test, I can't shake the feeling that we're just scratching the surface. We've built what helped me, but what would help YOU? When you're lying awake at 3 AM, stressed about your startup, what tasks do you wish you could delegate to an AI co-founder who actually understands context and can take meaningful action? Of course, it's not a replacement for an actual AI cofounder, but using our prior entrepreneurial experience and conversations with other folks, we understand that OUTREACH and SALES might actually be a big problem statement we can go deeper on as it naturally helps with the following: Idea Validation - Testing your assumptions with real customers before building Pricing strategy - Understanding what the market is willing to pay Product strategy - Getting feedback on features and roadmap Actually revenue - Converting conversations into real paying customers I'm not asking you to imagine some sci-fi scenario, we've already built modules that can: Generate comprehensive 20+ page market analysis reports with actionable insights Handle customer outreach Monitor competitors and target accounts, tracking changes in their strategy Take supervised actions based on the insights gathered (Manual effort is required currently) But what else should it do? What would make you trust an AI co-founder with parts of your business? Or do you think this whole concept is fundamentally flawed? I'm committed to building this the right way, not just another AI tool or an LLM Wrapper, but an agentic system that can understand your unique challenges and work towards overcoming them. Whether you think this is revolutionary or ridiculous, I want to hear your honest thoughts. But more importantly, I want to hear your unfiltered feedback in the comments. What would make this truly valuable for YOU? Edit 1: The AI cofounder will take no equity in your startup.

After building an AI Co-founder to solve my startup struggles, I realized we might be onto something bigger. What problems would you want YOUR AI Co-founder to solve?
reddit
LLM Vibe Score0
Human Vibe Score0
Consistent_Yak6765This week

After building an AI Co-founder to solve my startup struggles, I realized we might be onto something bigger. What problems would you want YOUR AI Co-founder to solve?

A few days ago, I shared my entrepreneurial journey and the endless loop of startup struggles I was facing. The response from the community was overwhelming, and it validated something I had stumbled upon while trying to solve my own problems. In just a matter of days, we've built out the core modules I initially used for myself, deep market research capabilities, automated outreach systems, and competitor analysis. It's surreal to see something born out of personal frustration turning into a tool that others might actually find valuable. But here's where it gets interesting (and where I need your help). While we're actively onboarding users for our alpha test, I can't shake the feeling that we're just scratching the surface. We've built what helped me, but what would help YOU? When you're lying awake at 3 AM, stressed about your startup, what tasks do you wish you could delegate to an AI co-founder who actually understands context and can take meaningful action? Of course, it's not a replacement for an actual AI cofounder, but using our prior entrepreneurial experience and conversations with other folks, we understand that OUTREACH and SALES might actually be a big problem statement we can go deeper on as it naturally helps with the following: Idea Validation - Testing your assumptions with real customers before building Pricing strategy - Understanding what the market is willing to pay Product strategy - Getting feedback on features and roadmap Actually revenue - Converting conversations into real paying customers I'm not asking you to imagine some sci-fi scenario, we've already built modules that can: Generate comprehensive 20+ page market analysis reports with actionable insights Handle customer outreach Monitor competitors and target accounts, tracking changes in their strategy Take supervised actions based on the insights gathered (Manual effort is required currently) But what else should it do? What would make you trust an AI co-founder with parts of your business? Or do you think this whole concept is fundamentally flawed? I'm committed to building this the right way, not just another AI tool or an LLM Wrapper, but an agentic system that can understand your unique challenges and work towards overcoming them. Whether you think this is revolutionary or ridiculous, I want to hear your honest thoughts. But more importantly, I want to hear your unfiltered feedback in the comments. What would make this truly valuable for YOU? Edit 1: The AI cofounder will take no equity in your startup.

Should we give up?
reddit
LLM Vibe Score0
Human Vibe Score1
mind4waveThis week

Should we give up?

I'm currently very demotivated because we're working on our SaaS startup since 1,5 years and we still haven't found active users, let alone a customer. We're building an AI-first tool that automates user research analysis. We've released two MVPs so far and are planning to build a third. People respond well to outreach (5-7% book a demo from those who received a first message) but then they fail to use it. We are talking with users a lot so we are aware of the problems, and we might be able to solve them if we continue building and testing. I find it hard though to solve these problems efficiently, because there are no similar established AI-first products on the market and it feels like we have to create a new UX standard. Some problems might be very hard to be solved, e.g. there are high cost of switching products for many of our potential users. Also, my time is limited, as I recently (5 months ago) became a mother. I can only work 30 hours per week. It's a competitive area we're in and our competitors have gradually developed into the same direction and it's getting harder to position ourselves. Also, GPTs might soon be able to do what we're doing - for free. I feel like AI tools are generally expected by many to be free. The price we're expecting to be able to bill is getting lower and lower and our finance plan is already looking tight. However, there are adjacent audiences which we could target as well, but none of us knows them. Is it normal as a founder to struggle so much at the beginning? I've read that it took established SaaS 2,5 years on average from founding to first revenue. We haven't founded so far so you could say we're not behind \sarcasm\ Shall we keep pushing? My tech co-founder is optimistic and thinks this is where the wheat is separated from the chaff. We're currently supported financially by a government fund so we haven't spent much private money. However, I feel like my career outlook gets worse with each day that I unsuccessfully try to raise this startup.

Seeking Your Feedback: SeedHustle and Your Small Business Journey✨
reddit
LLM Vibe Score0
Human Vibe Score1
EntryElectronicThis week

Seeking Your Feedback: SeedHustle and Your Small Business Journey✨

Hello, everyone, I'm one of the co-founder of SeedHustle, and I wanted to have an authentic discussion with you about our recent developments. SeedHustle is a project dear to us, with the aim of simplifying the often complex process of connecting startups with venture capitalists. 🌟 Why did we embark on this journey? Well, we've been in your shoes, experiencing the frustration of the never-ending search for the right VC partner and the challenges of establishing meaningful connections. This shared experience led to the creation of (https://seedhustle.ai/ ) . So, what's the deal with SeedHustle? It's our effort to streamline the process of finding the ideal VC match. You provide us with your company details, and our AI system goes to work, suggesting potential VCs and explaining why they might be a good fit based on their past investments and backgrounds. We also provide real-time data on their funds. We're currently in the private beta phase and want to extend an invitation to join our Discord community. It's a space where founders can share their stories and possibly make introductions to VCs. As founders who thrive on AI challenges, we believe this could be a game-changer. 👂 I'm here to have an open dialogue. Is there anything you'd like to discuss? Whether it's SeedHustle, our journey, or your own small business experiences, we're all ears. Here are a few conversation starters: \-Does SeedHustle align with your small business journey? \-Do you have any suggestions for how we can improve our platform? \-Is there anything about what we're doing that's unclear or not quite resonating with you? Your feedback is incredibly valuable to us, so please feel free to reach out. Thank you for being a part of this journey, and we hope to see you in our Discord community for a chat! 😊🚀

 Struggling with Cold Start for Our AI PowerPoint Tool - Seeking Platform and Strategy Suggestions!
reddit
LLM Vibe Score0
Human Vibe Score1
yamaggieThis week

Struggling with Cold Start for Our AI PowerPoint Tool - Seeking Platform and Strategy Suggestions!

Hello everyone, I'm one of the co-founders of a new AI-generated PowerPoint company, and I handle the marketing side of things. Our product is currently in the cold start phase, and we’re facing some challenges in gaining traction. We've already tried some influencer marketing, but the results have been underwhelming. We're looking for advice on the best platforms and strategies to effectively launch our product and reach our target audience. Here’s a bit more about our product: AI-Powered: Our tool leverages AI to help users quickly create professional PowerPoint presentations by simply entering their desired topic. User-Friendly: The process is streamlined to save users time and effort, making it ideal for professionals, educators, and students. Given our current situation, we would greatly appreciate any suggestions on: Platforms: Which platforms have you found most effective for cold starts, especially for tech or AI products? Strategies: What marketing strategies or tactics have worked for you in the early stages? Any tips on refining our influencer marketing approach or alternative methods to consider? Partnerships: Are there any specific types of partnerships or collaborations that you’ve found beneficial for similar products? Thank you in advance for your insights and advice. We're eager to learn from this community and hopefully turn things around for our launch. Best, Maggie

How I Started Learning Machine Learning
reddit
LLM Vibe Score0
Human Vibe Score1
TechPrimoThis week

How I Started Learning Machine Learning

Hello, everyone. As promised, I'll write a longer post about how I entered the world of ML, hoping it will help someone shape their path. I'll include links to all the useful materials I used alongside the story, which you can use for learning. I like to call myself an AI Research Scientist who enjoys exploring new AI trends, delving deeper into understanding their background, and applying them to real products. This way, I try to connect science and entrepreneurship because I believe everything that starts as scientific research ends up "on the shelves" as a product that solves a specific user problem. I began my journey in ML in 2016 when it wasn't such a popular field. Everyone had heard of it, but few were applying it. I have several years of development experience and want to try my hand at ML. The first problem I encountered was where to start - whether to learn mathematics, statistics, or something else. That's when I came across a name and a course that completely changed my career. Let's start You guessed it. It was Professor Andrew Ng and his globally popular Machine Learning course available on Coursera (I still have the certificate, hehe). This was also my first official online course ever. Since that course no longer exists as it's been replaced by a new one, I recommend you check out: Machine Learning (Stanford CS229) Machine Learning Specialization These two courses start from the basics of ML and all the necessary calculus you need to know. Many always ask questions like whether to learn linear algebra, statistics, or probability, but you don't need to know everything in depth. This knowledge helps if you're a scientist developing a new architecture, but as an engineer, not really. You need to know some basics to understand, such as how the backpropagation algorithm works. I know that Machine Learning (Stanford CS229) is a very long and arduous course, but it's the right start if you want to be really good at ML. In my time, I filled two thick notebooks by hand while taking the course mentioned above. TensorFlow and Keras After the course, I didn't know how to apply my knowledge because I hadn't learned specifically how to code things. Then, I was looking for ways to learn how to code it. That's when I came across a popular framework called Keras, now part of TensorFlow. I started with a new course and acquiring practical knowledge: Deep Learning Specialization Deep Learning by Ian Goodfellow Machine Learning Yearning by Andrew Ng These resources above were my next step. I must admit that I learned the most from that course and from the book Deep Learning by Ian Goodfellow because I like reading books (although this one is quite difficult to read). Learn by coding To avoid just learning, I went through various GitHub repositories that I manually retyped and learned that way. It may be an old-fashioned technique, but it helped me a lot. Now, most of those repositories don't exist, so I'll share some that I found to be good: Really good Jupyter notebooks that can teach you the basics of TensorFlow Another good repo for learning TF and Keras Master the challenge After mastering the basics in terms of programming in TF/Keras, I wanted to try solving some real problems. There's no better place for that challenge than Kaggle and the popular Titanic dataset. Here, you can really find a bunch of materials and simple examples of ML applications. Here are some of my favorites: Titanic - Machine Learning from Disaster Home Credit Default Risk House Prices - Advanced Regression Techniques Two Sigma: Using News to Predict Stock Movements I then decided to further develop my career in the direction of applying ML to the stock market, first using predictions on time series and then using natural language processing. I've remained in this field until today and will defend my doctoral dissertation soon. How to deploy models To continue, before I move on to the topic of specialization, we need to address the topic of deployment. Now that we've learned how to make some basic models in Keras and how to use them, there are many ways and services, but I'll only mention what I use today. For all my ML models, whether simple regression models or complex GPT models, I use FastAPI. It's a straightforward framework, and you can quickly create API endpoints. I'll share a few older and useful tutorials for beginners: AI as an API tutorial series A step-by-step guide Productizing an ML Model with FastAPI and Cloud Run Personally, I've deployed on various cloud providers, of which I would highlight GCP and AWS because they have everything needed for model deployment, and if you know how to use them, they can be quite cheap. Chose your specialization The next step in developing my career, besides choosing finance as the primary area, was my specialization in the field of NLP. This happened in early 2020 when I started working with models based on the Transformer architecture. The first model I worked with was BERT, and the first tasks were related to classifications. My recommendations are to master the Transformer architecture well because 99% of today's LLM models are based on it. Here are some resources: The legendary paper "Attention Is All You Need" Hugging Face Course on Transformers Illustrated Guide to Transformers - Step by Step Explanation Good repository How large language models work, a visual intro to transformers After spending years using encoder-based Transformer models, I started learning GPT models. Good open-source models like Llama 2 then appear. Then, I started fine-tuning these models using the excellent Unsloth library: How to Finetune Llama-3 and Export to Ollama Fine-tune Llama 3.1 Ultra-Efficiently with Unsloth After that, I focused on studying various RAG techniques and developing Agent AI systems. This is now called AI engineering, and, as far as I can see, it has become quite popular. So I'll write more about that in another post, but here I'll leave what I consider to be the three most famous representatives, i.e., their tutorials: LangChain tutorial LangGraph tutorial CrewAI examples Here I am today Thanks to the knowledge I've generated over all these years in the field of ML, I've developed and worked on numerous projects. The most significant publicly available project is developing an agent AI system for well-being support, which I turned into a mobile application. Also, my entire doctoral dissertation is related to applying ML to the stock market in combination with the development of GPT models and reinforcement learning (more on that in a separate post). After long 6 years, I've completed my dissertation, and now I'm just waiting for its defense. I'll share everything I'm working on for the dissertation publicly on the project, and in tutorials I'm preparing to write. If you're interested in these topics, I announce that I'll soon start with activities of publishing content on Medium and a blog, but I'll share all of that here on Reddit as well. Now that I've gathered years of experience and knowledge in this field, I'd like to share it with others and help as much as possible. If you have any questions, feel free to ask them, and I'll try to answer all of them. Thank you for reading.

How I Started Learning Machine Learning
reddit
LLM Vibe Score0
Human Vibe Score1
TechPrimoThis week

How I Started Learning Machine Learning

Hello, everyone. As promised, I'll write a longer post about how I entered the world of ML, hoping it will help someone shape their path. I'll include links to all the useful materials I used alongside the story, which you can use for learning. I like to call myself an AI Research Scientist who enjoys exploring new AI trends, delving deeper into understanding their background, and applying them to real products. This way, I try to connect science and entrepreneurship because I believe everything that starts as scientific research ends up "on the shelves" as a product that solves a specific user problem. I began my journey in ML in 2016 when it wasn't such a popular field. Everyone had heard of it, but few were applying it. I have several years of development experience and want to try my hand at ML. The first problem I encountered was where to start - whether to learn mathematics, statistics, or something else. That's when I came across a name and a course that completely changed my career. Let's start You guessed it. It was Professor Andrew Ng and his globally popular Machine Learning course available on Coursera (I still have the certificate, hehe). This was also my first official online course ever. Since that course no longer exists as it's been replaced by a new one, I recommend you check out: Machine Learning (Stanford CS229) Machine Learning Specialization These two courses start from the basics of ML and all the necessary calculus you need to know. Many always ask questions like whether to learn linear algebra, statistics, or probability, but you don't need to know everything in depth. This knowledge helps if you're a scientist developing a new architecture, but as an engineer, not really. You need to know some basics to understand, such as how the backpropagation algorithm works. I know that Machine Learning (Stanford CS229) is a very long and arduous course, but it's the right start if you want to be really good at ML. In my time, I filled two thick notebooks by hand while taking the course mentioned above. TensorFlow and Keras After the course, I didn't know how to apply my knowledge because I hadn't learned specifically how to code things. Then, I was looking for ways to learn how to code it. That's when I came across a popular framework called Keras, now part of TensorFlow. I started with a new course and acquiring practical knowledge: Deep Learning Specialization Deep Learning by Ian Goodfellow Machine Learning Yearning by Andrew Ng These resources above were my next step. I must admit that I learned the most from that course and from the book Deep Learning by Ian Goodfellow because I like reading books (although this one is quite difficult to read). Learn by coding To avoid just learning, I went through various GitHub repositories that I manually retyped and learned that way. It may be an old-fashioned technique, but it helped me a lot. Now, most of those repositories don't exist, so I'll share some that I found to be good: Really good Jupyter notebooks that can teach you the basics of TensorFlow Another good repo for learning TF and Keras Master the challenge After mastering the basics in terms of programming in TF/Keras, I wanted to try solving some real problems. There's no better place for that challenge than Kaggle and the popular Titanic dataset. Here, you can really find a bunch of materials and simple examples of ML applications. Here are some of my favorites: Titanic - Machine Learning from Disaster Home Credit Default Risk House Prices - Advanced Regression Techniques Two Sigma: Using News to Predict Stock Movements I then decided to further develop my career in the direction of applying ML to the stock market, first using predictions on time series and then using natural language processing. I've remained in this field until today and will defend my doctoral dissertation soon. How to deploy models To continue, before I move on to the topic of specialization, we need to address the topic of deployment. Now that we've learned how to make some basic models in Keras and how to use them, there are many ways and services, but I'll only mention what I use today. For all my ML models, whether simple regression models or complex GPT models, I use FastAPI. It's a straightforward framework, and you can quickly create API endpoints. I'll share a few older and useful tutorials for beginners: AI as an API tutorial series A step-by-step guide Productizing an ML Model with FastAPI and Cloud Run Personally, I've deployed on various cloud providers, of which I would highlight GCP and AWS because they have everything needed for model deployment, and if you know how to use them, they can be quite cheap. Chose your specialization The next step in developing my career, besides choosing finance as the primary area, was my specialization in the field of NLP. This happened in early 2020 when I started working with models based on the Transformer architecture. The first model I worked with was BERT, and the first tasks were related to classifications. My recommendations are to master the Transformer architecture well because 99% of today's LLM models are based on it. Here are some resources: The legendary paper "Attention Is All You Need" Hugging Face Course on Transformers Illustrated Guide to Transformers - Step by Step Explanation Good repository How large language models work, a visual intro to transformers After spending years using encoder-based Transformer models, I started learning GPT models. Good open-source models like Llama 2 then appear. Then, I started fine-tuning these models using the excellent Unsloth library: How to Finetune Llama-3 and Export to Ollama Fine-tune Llama 3.1 Ultra-Efficiently with Unsloth After that, I focused on studying various RAG techniques and developing Agent AI systems. This is now called AI engineering, and, as far as I can see, it has become quite popular. So I'll write more about that in another post, but here I'll leave what I consider to be the three most famous representatives, i.e., their tutorials: LangChain tutorial LangGraph tutorial CrewAI examples Here I am today Thanks to the knowledge I've generated over all these years in the field of ML, I've developed and worked on numerous projects. The most significant publicly available project is developing an agent AI system for well-being support, which I turned into a mobile application. Also, my entire doctoral dissertation is related to applying ML to the stock market in combination with the development of GPT models and reinforcement learning (more on that in a separate post). After long 6 years, I've completed my dissertation, and now I'm just waiting for its defense. I'll share everything I'm working on for the dissertation publicly on the project, and in tutorials I'm preparing to write. If you're interested in these topics, I announce that I'll soon start with activities of publishing content on Medium and a blog, but I'll share all of that here on Reddit as well. Now that I've gathered years of experience and knowledge in this field, I'd like to share it with others and help as much as possible. If you have any questions, feel free to ask them, and I'll try to answer all of them. Thank you for reading.

[D] Why I'm Lukewarm on Graph Neural Networks
reddit
LLM Vibe Score0
Human Vibe Score0.6
VodkaHazeThis week

[D] Why I'm Lukewarm on Graph Neural Networks

TL;DR: GNNs can provide wins over simpler embedding methods, but we're at a point where other research directions matter more I also posted it on my blog here, has footnotes, a nicer layout with inlined images, etc. I'm only lukewarm on Graph Neural Networks (GNNs). There, I said it. It might sound crazy GNNs are one of the hottest fields in machine learning right now. [There][1] were at least [four][2] [review][3] [papers][4] just in the last few months. I think some progress can come of this research, but we're also focusing on some incorrect places. But first, let's take a step back and go over the basics. Models are about compression We say graphs are a "non-euclidean" data type, but that's not really true. A regular graph is just another way to think about a particular flavor of square matrix called the [adjacency matrix][5], like this. It's weird, we look at run-of-the-mill matrix full of real numbers and decide to call it "non-euclidean". This is for practical reasons. Most graphs are fairly sparse, so the matrix is full of zeros. At this point, where the non-zero numbers are matters most, which makes the problem closer to (computationally hard) discrete math rather than (easy) continuous, gradient-friendly math. If you had the full matrix, life would be easy If we step out of the pesky realm of physics for a minute, and assume carrying the full adjacency matrix around isn't a problem, we solve a bunch of problems. First, network node embeddings aren't a thing anymore. A node is a just row in the matrix, so it's already a vector of numbers. Second, all network prediction problems are solved. A powerful enough and well-tuned model will simply extract all information between the network and whichever target variable we're attaching to nodes. NLP is also just fancy matrix compression Let's take a tangent away from graphs to NLP. Most NLP we do can be [thought of in terms of graphs][6] as we'll see, so it's not a big digression. First, note that Ye Olde word embedding models like [Word2Vec][7] and [GloVe][8] are [just matrix factorization][9]. The GloVe algorithm works on a variation of the old [bag of words][10] matrix. It goes through the sentences and creates a (implicit) [co-occurence][11] graph where nodes are words and the edges are weighed by how often the words appear together in a sentence. Glove then does matrix factorization on the matrix representation of that co-occurence graph, Word2Vec is mathematically equivalent. You can read more on this in my [post on embeddings][12] and the one (with code) on [word embeddings][13]. Even language models are also just matrix compression Language models are all the rage. They dominate most of the [state of the art][14] in NLP. Let's take BERT as our main example. BERT predicts a word given the context of the rest of the sentence. This grows the matrix we're factoring from flat co-occurences on pairs of words to co-occurences conditional on the sentence's context, like this We're growing the "ideal matrix" we're factoring combinatorially. As noted by [Hanh & Futrell][15]: [...] human language—and language modelling—has infinite statistical complexity but that it can be approximated well at lower levels. This observation has two implications: 1) We can obtain good results with comparatively small models; and 2) there is a lot of potential for scaling up our models. Language models tackle such a large problem space that they probably approximate a compression of the entire language in the [Kolmogorov Complexity][16] sense. It's also possible that huge language models just [memorize a lot of it][17] rather than compress the information, for what it's worth. Can we upsample any graph like language models do? We're already doing it. Let's call a first-order embedding of a graph a method that works by directly factoring the graph's adjacency matrix or [Laplacian matrix][18]. If you embed a graph using [Laplacian Eigenmaps][19] or by taking the [principal components][20] of the Laplacian, that's first order. Similarly, GloVe is a first-order method on the graph of word co-occurences. One of my favorites first order methods for graphs is [ProNE][21], which works as well as most methods while being two orders of magnitude faster. A higher-order method embeds the original matrix plus connections of neighbours-of-neighbours (2nd degree) and deeper k-step connections. [GraRep][22], shows you can always generate higher-order representations from first order methods by augmenting the graph matrix. Higher order method are the "upsampling" we do on graphs. GNNs that sample on large neighborhoods and random-walk based methods like node2vec are doing higher-order embeddings. Where are the performance gain? Most GNN papers in the last 5 years present empirical numbers that are useless for practitioners to decide on what to use. As noted in the [OpenGraphsBenchmark][4] (OGB) paper, GNN papers do their empirical section on a handful of tiny graphs (Cora, CiteSeer, PubMed) with 2000-20,000 nodes. These datasets can't seriously differentiate between methods. Recent efforts are directly fixing this, but the reasons why researchers focused on tiny, useless datasets for so long are worth discussing. Performance matters by task One fact that surprises a lot of people is that even though language models have the best performance in a lot of NLP tasks, if all you're doing is cram sentence embeddings into a downstream model, there [isn't much gained][23] from language models embeddings over simple methods like summing the individual Word2Vec word embeddings (This makes sense, because the full context of the sentence is captured in the sentence co-occurence matrix that is generating the Word2Vec embeddings). Similarly, [I find][24] that for many graphs simple first-order methods perform just as well on graph clustering and node label prediction tasks than higher-order embedding methods. In fact higher-order methods are massively computationally wasteful for these usecases. Recommended first order embedding methods are ProNE and my [GGVec with order=1][25]. Higher order methods normally perform better on the link prediction tasks. I'm not the only one to find this. In the BioNEV paper, they find: "A large GraRep order value for link prediction tasks (e.g. 3, 4);a small value for node classification tasks (e.g.1, 2)" (p.9). Interestingly, the gap in link prediction performance is inexistant for artificially created graphs. This suggests higher order methods do learn some of the structure intrinsic to [real world graphs][26]. For visualization, first order methods are better. Visualizations of higher order methods tend to have artifacts of their sampling. For instance, Node2Vec visualizations tend to have elongated/filament-like structures which come from the embeddings coming from long single strand random walks. See the following visualizations by [Owen Cornec][27] created by first embedding the graph to 32-300 dimensions using a node embedding algorithm, then mapping this to 2d or 3d with the excellent UMAP algorithm, like this Lastly, sometimes simple methods soundly beat higher order methods (there's an instance of it in the OGB paper). The problem here is that we don't know when any method is better than another and we definitely don't know the reason. There's definitely a reason different graph types respond better/worse to being represented by various methods. This is currently an open question. A big part of why is that the research space is inundated under useless new algorithms because... Academic incentives work against progress Here's the cynic's view of how machine learning papers are made: Take an existing algorithm Add some new layer/hyperparameter, make a cute mathematical story for why it matters Gridsearch your hyperparameters until you beat baselines from the original paper you aped Absolutely don't gridsearch stuff you're comparing against in your results section Make a cute ACRONYM for your new method, put impossible to use python 2 code on github (Or no code at all!) and bask in the citations I'm [not][28] the [only one][29] with these views on the state reproducible research. At least it's gotten slightly better in the last 2 years. Sidebar: I hate Node2Vec A side project of mine is a [node embedding library][25] and the most popular method in it is by far Node2Vec. Don't use Node2Vec. [Node2Vec][30] with p=1; q=1 is the [Deepwalk][31] algorithm. Deepwalk is an actual innovation. The Node2Vec authors closely followed the steps 1-5 including bonus points on step 5 by getting word2vec name recognition. This is not academic fraud -- the hyperparameters [do help a tiny bit][32] if you gridsearch really hard. But it's the presentable-to-your-parents sister of where you make the ML community worse off to progress your academic career. And certainly Node2Vec doesn't deserve 7500 citations. Progress is all about practical issues We've known how to train neural networks for well over 40 years. Yet they only exploded in popularity with [AlexNet][33] in 2012. This is because implementations and hardware came to a point where deep learning was practical. Similarly, we've known about factoring word co-occurence matrices into Word embeddings for at least 20 years. But word embeddings only exploded in 2013 with Word2Vec. The breakthrough here was that the minibatch-based methods let you train a Wikipedia-scale embedding model on commodity hardware. It's hard for methods in a field to make progress if training on a small amount of data takes days or weeks. You're disincentivized to explore new methods. If you want progress, your stuff has to run in reasonable time on commodity hardware. Even Google's original search algorithm [initially ran on commodity hardware][34]. Efficiency is paramount to progress The reason deep learning research took off the way it did is because of improvements in [efficiency][35] as well as much better libraries and hardware support. Academic code is terrible Any amount of time you spend gridsearching Node2Vec on p and q is all put to better use gridsearching Deepwalk itself (on number of walks, length of walks, or word2vec hyperparameters). The problem is that people don't gridsearch over deepwalk because implementations are all terrible. I wrote the [Nodevectors library][36] to have a fast deepwalk implementation because it took 32 hours to embed a graph with a measly 150,000 nodes using the reference Node2Vec implementation (the same takes 3min with Nodevectors). It's no wonder people don't gridsearch on Deepwalk a gridsearch would take weeks with the terrible reference implementations. To give an example, in the original paper of [GraphSAGE][37] they their algorithm to DeepWalk with walk lengths of 5, which is horrid if you've ever hyperparameter tuned a deepwalk algorithm. From their paper: We did observe DeepWalk’s performance could improve with further training, and in some cases it could become competitive with the unsupervised GraphSAGE approaches (but not the supervised approaches) if we let it run for >1000× longer than the other approaches (in terms of wall clock time for prediction on the test set) I don't even think the GraphSAGE authors had bad intent -- deepwalk implementations are simply so awful that they're turned away from using it properly. It's like trying to do deep learning with 2002 deep learning libraries and hardware. Your architectures don't really matter One of the more important papers this year was [OpenAI's "Scaling laws"][38] paper, where the raw number of parameters in your model is the most predictive feature of overall performance. This was noted even in the original BERT paper and drives 2020's increase in absolutely massive language models. This is really just [Sutton' Bitter Lesson][39] in action: General methods that leverage computation are ultimately the most effective, and by a large margin Transformers might be [replacing convolution][40], too. As [Yannic Kilcher said][41], transformers are ruining everything. [They work on graphs][6], in fact it's one of the [recent approaches][42], and seems to be one of the more succesful [when benchmarked][1] Researchers seem to be putting so much effort into architecture, but it doesn't matter much in the end because you can approximate anything by stacking more layers. Efficiency wins are great -- but neural net architectures are just one way to achieve that, and by tremendously over-researching this area we're leaving a lot of huge gains elsewhere on the table. Current Graph Data Structure Implementations suck NetworkX is a bad library. I mean, it's good if you're working on tiny graphs for babies, but for anything serious it chokes and forces you to rewrite everything in... what library, really? At this point most people working on large graphs end up hand-rolling some data structure. This is tough because your computer's memory is a 1-dimensional array of 1's and 0's and a graph has no obvious 1-d mapping. This is even harder when we take updating the graph (adding/removing some nodes/edges) into account. Here's a few options: Disconnected networks of pointers NetworkX is the best example. Here, every node is an object with a list of pointers to other nodes (the node's edges). This layout is like a linked list. Linked lists are the [root of all performance evil][43]. Linked lists go completely against how modern computers are designed. Fetching things from memory is slow, and operating on memory is fast (by two orders of magnitude). Whenever you do anything in this layout, you make a roundtrip to RAM. It's slow by design, you can write this in Ruby or C or assembly and it'll be slow regardless, because memory fetches are slow in hardware. The main advantage of this layout is that adding a new node is O(1). So if you're maintaining a massive graph where adding and removing nodes happens as often as reading from the graph, it makes sense. Another advantage of this layout is that it "scales". Because everything is decoupled from each other you can put this data structure on a cluster. However, you're really creating a complex solution for a problem you created for yourself. Sparse Adjacency Matrix This layout great for read-only graphs. I use it as the backend in my [nodevectors][25] library, and many other library writers use the [Scipy CSR Matrix][44], you can see graph algorithms implemented on it [here][45]. The most popular layout for this use is the [CSR Format][46] where you have 3 arrays holding the graph. One for edge destinations, one for edge weights and an "index pointer" which says which edges come from which node. Because the CSR layout is simply 3 arrays, it scales on a single computer: a CSR matrix can be laid out on a disk instead of in-memory. You simply [memory map][47] the 3 arrays and use them on-disk from there. With modern NVMe drives random seeks aren't slow anymore, much faster than distributed network calls like you do when scaling the linked list-based graph. I haven't seen anyone actually implement this yet, but it's in the roadmap for my implementation at least. The problem with this representation is that adding a node or edge means rebuilding the whole data structure. Edgelist representations This representation is three arrays: one for the edge sources, one for the edge destinations, and one for edge weights. [DGL][48] uses this representation internally. This is a simple and compact layout which can be good for analysis. The problem compared to CSR Graphs is some seek operations are slower. Say you want all the edges for node #4243. You can't jump there without maintaining an index pointer array. So either you maintain sorted order and binary search your way there (O(log2n)) or unsorted order and linear search (O(n)). This data structure can also work on memory mapped disk array, and node append is fast on unsorted versions (it's slow in the sorted version). Global methods are a dead end Methods that work on the entire graph at once can't leverage computation, because they run out of RAM at a certain scale. So any method that want a chance of being the new standard need to be able to update piecemeal on parts of the graph. Sampling-based methods Sampling Efficiency will matter more in the future Edgewise local methods. The only algorithms I know of that do this are GloVe and GGVec, which they pass through an edge list and update embedding weights on each step. The problem with this approach is that it's hard to use them for higher-order methods. The advantage is that they easily scale even on one computer. Also, incrementally adding a new node is as simple as taking the existing embeddings, adding a new one, and doing another epoch over the data Random Walk sampling. This is used by deepwalk and its descendants, usually for node embeddings rather than GNN methods. This can be computationally expensive and make it hard to add new nodes. But this does scale, for instance [Instagram][49] use it to feed their recommendation system models Neighbourhood sampling. This is currently the most common one in GNNs, and can be low or higher order depending on the neighborhood size. It also scales well, though implementing efficiently can be challenging. It's currently used by [Pinterest][50]'s recommendation algorithms. Conclusion Here are a few interesting questions: What is the relation between graph types and methods? Consolidated benchmarking like OGB We're throwing random models at random benchmarks without understanding why or when they do better More fundamental research. Heree's one I'm curious about: can other representation types like [Poincarre Embeddings][51] effectively encode directed relationships? On the other hand, we should stop focusing on adding spicy new layers to test on the same tiny datasets. No one cares. [1]: https://arxiv.org/pdf/2003.00982.pdf [2]: https://arxiv.org/pdf/2002.11867.pdf [3]: https://arxiv.org/pdf/1812.08434.pdf [4]: https://arxiv.org/pdf/2005.00687.pdf [5]: https://en.wikipedia.org/wiki/Adjacency_matrix [6]: https://thegradient.pub/transformers-are-graph-neural-networks/ [7]: https://en.wikipedia.org/wiki/Word2vec [8]: https://nlp.stanford.edu/pubs/glove.pdf [9]: https://papers.nips.cc/paper/2014/file/feab05aa91085b7a8012516bc3533958-Paper.pdf [10]: https://en.wikipedia.org/wiki/Bag-of-words_model [11]: https://en.wikipedia.org/wiki/Co-occurrence [12]: https://www.singlelunch.com/2020/02/16/embeddings-from-the-ground-up/ [13]: https://www.singlelunch.com/2019/01/27/word-embeddings-from-the-ground-up/ [14]: https://nlpprogress.com/ [15]: http://socsci.uci.edu/~rfutrell/papers/hahn2019estimating.pdf [16]: https://en.wikipedia.org/wiki/Kolmogorov_complexity [17]: https://bair.berkeley.edu/blog/2020/12/20/lmmem/ [18]: https://en.wikipedia.org/wiki/Laplacian_matrix [19]: http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=1F03130B02DC485C78BF364266B6F0CA?doi=10.1.1.19.8100&rep=rep1&type=pdf [20]: https://en.wikipedia.org/wiki/Principalcomponentanalysis [21]: https://www.ijcai.org/Proceedings/2019/0594.pdf [22]: https://dl.acm.org/doi/10.1145/2806416.2806512 [23]: https://openreview.net/pdf?id=SyK00v5xx [24]: https://github.com/VHRanger/nodevectors/blob/master/examples/link%20prediction.ipynb [25]: https://github.com/VHRanger/nodevectors [26]: https://arxiv.org/pdf/1310.2636.pdf [27]: http://byowen.com/ [28]: https://arxiv.org/pdf/1807.03341.pdf [29]: https://www.youtube.com/watch?v=Kee4ch3miVA [30]: https://cs.stanford.edu/~jure/pubs/node2vec-kdd16.pdf [31]: https://arxiv.org/pdf/1403.6652.pdf [32]: https://arxiv.org/pdf/1911.11726.pdf [33]: https://en.wikipedia.org/wiki/AlexNet [34]: https://en.wikipedia.org/wiki/Googledatacenters#Original_hardware [35]: https://openai.com/blog/ai-and-efficiency/ [36]: https://www.singlelunch.com/2019/08/01/700x-faster-node2vec-models-fastest-random-walks-on-a-graph/ [37]: https://arxiv.org/pdf/1706.02216.pdf [38]: https://arxiv.org/pdf/2001.08361.pdf [39]: http://incompleteideas.net/IncIdeas/BitterLesson.html [40]: https://arxiv.org/abs/2010.11929 [41]: https://www.youtube.com/watch?v=TrdevFK_am4 [42]: https://arxiv.org/pdf/1710.10903.pdf [43]: https://www.youtube.com/watch?v=fHNmRkzxHWs [44]: https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html [45]: https://docs.scipy.org/doc/scipy/reference/sparse.csgraph.html [46]: https://en.wikipedia.org/wiki/Sparsematrix#Compressedsparserow(CSR,CRSorYaleformat) [47]: https://en.wikipedia.org/wiki/Mmap [48]: https://github.com/dmlc/dgl [49]: https://ai.facebook.com/blog/powered-by-ai-instagrams-explore-recommender-system/ [50]: https://medium.com/pinterest-engineering/pinsage-a-new-graph-convolutional-neural-network-for-web-scale-recommender-systems-88795a107f48 [51]: https://arxiv.org/pdf/1705.08039.pdf

[D] Advanced courses update
reddit
LLM Vibe Score0
Human Vibe Score1
actbshThis week

[D] Advanced courses update

EDIT Jan 2021 : I am still updating the list as of Jan, 2021 and will most probably continue to do so for foreseeable future. So, please feel free to message me any courses you find interesting that fit here. - - We have a PhD level or Advanced courses thread in the sidebar but it's three year old now. There were two other 7-8 month old threads (1, 2) but they don't have many quality responses either. So, can we have a new one here? To reiterate - CS231n, CS229, ones from Udemy etc are not advanced. Advanced ML/DL/RL, attempts at building theory of DL, optimization theory, advanced applications etc are some examples of what I believe should belong here, much like the original sidebar post. You can also suggest (new) categories for the courses you share. :) - - Here are some courses we've found so far. ML >> Learning Discrete Latent Structure - sta4273/csc2547 Spring'18 Learning to Search - csc2547 Fall'19 Scalable and Flexible Models of Uncertainty - csc2541 Fundamentals of Machine Learning Over Networks - ep3260 Machine Learning on Graphs - cs224w, videos Mining Massive Data Sets - cs246 Interactive Learning - cse599 Machine Learning for Sequential Decision Making Under Uncertainty - ee290s/cs194 Probabilistic Graphical Methods - 10-708 Introduction to Causal Inference ML >> Theory Statistical Machine Learning - 10-702/36-702 with videos, 2016 videos Statistical Learning Theory - cs229T/stats231 Stanford Autumn'18-19 Statistical Learning Theory - cs281b /stat241b UC Berkeley, Spring'14 Statistical Learning Theory - csc2532 Uni of Toronto, Spring'20 ML >> Bayesian Bayesian Data Analysis Bayesian Methods Research Group, Moscow, Bayesian Methods in ML - spring2020, fall2020 Deep Learning and Bayesian Methods - summer school, videos available for 2019 version ML >> Systems and Operations Stanford MLSys Seminar Series Visual Computing Systems- cs348v - Another systems course that discusses hardware from a persepective of visual computing but is relevant to ML as well Advanced Machine Learning Systems - cs6787 - lecture 9 and onwards discuss hardware side of things Machine Learning Systems Design - cs329S Topics in Deployable ML - 6.S979 Machine Learning in Production / AI Engineering (17-445/17-645/17-745/11-695) AutoML - Automated Machine Learning DL >> Deep Unsupervised Learning - cs294 Deep Multi-task and Meta learning - cs330 Topics in Deep Learning - stat991 UPenn/Wharton most chapters start with introductory topics and dig into advanced ones towards the end. Deep Generative Models - cs236 Deep Geometric Learning of Big Data and Applications Deep Implicit Layers - NeurIPS 2020 tutorial DL >> Theory Topics course on Mathematics of Deep Learning - CSCI-GA 3033 Topics Course on Deep Learning - stat212b Analyses of Deep Learning - stats385, videos from 2017 version Mathematics of Deep Learning Geometry of Deep Learning RL >> Meta-Learning - ICML 2019 Tutorial , Metalearning: Applications to Data Mining - google books link Deep Multi-Task and Meta Learning - cs330, videos Deep Reinforcement Learning - cs285 Advanced robotics - cs287 Reinforcement Learning - cs234, videos for 2019 run Reinforcement Learning Summer School 2019: Bandits, RL & Deep RL Optimization >> Convex Optimization I - ee364a, has quite recent videos too. Convex Optimization II - ee364b, 2008 videos Convex Optimization and Approximation - ee227c Convex Optimization - ee227bt Variational Methods for Computer Vision Advanced Optimization and Randomized Algorithms - 10-801, videos Optimization Methods for Machine Learning and Engineering - Karlsruhe Institute of Technology Applications >> Computer Vision Computational Video Manipulation - cs448v Advanced Topics in ML: Modeling and Segmentation of Multivariate Mixed Data TUM AI Guest lecture series - many influential researchers in DL, vision, graphics talk about latest advances and their latest works. Advanced Deep Learning for Computer Vision - TUM ADL4CV Detection, Segmentation and Tracking - TUM CV3DST Guest lectures at TUM Dynamic Vision and Learning group Vision Seminar at MIT Autonomous Vision Group, Talk@Tübingen Seminar Applications >> Natural Language Processing Natural Language Processing with Deep Learning - cs224n ( not sure if it belongs here, people working in NLP can help me out) Neural networks for NLP - cs11-747 Natural Language Understanding - cs224u, video Applications >> 3D Graphics Non-Euclidean Methods in Machine Learning - cs468, 2020 Machine Learning for 3D Data - cs468, spring 2017 Data-Driven Shape Analysis - cs468, 2014 Geometric Deep Learning - Not a course but the website links a few tutorials on Geometric DL Deep Learning for Computer Graphics - SIGGRAPH 2019 Machine Learning for Machine Vision as Inverse Graphics - csc2547 Winter'20 Machine Learning Meets Geometry, winter 2020; Machine Learning for 3D Data, winter 2018 Edit: Upon suggestion, categorized the courses. There might be some misclassifications as I'm not trained on this task ;). Added some good ones from older (linked above) discussions.

[D] What is your honest experience with reinforcement learning?
reddit
LLM Vibe Score0
Human Vibe Score1
Starks-TechnologyThis week

[D] What is your honest experience with reinforcement learning?

In my personal experience, SOTA RL algorithms simply don't work. I've tried working with reinforcement learning for over 5 years. I remember when Alpha Go defeated the world famous Go player, Lee Sedol, and everybody thought RL would take the ML community by storm. Yet, outside of toy problems, I've personally never found a practical use-case of RL. What is your experience with it? Aside from Ad recommendation systems and RLHF, are there legitimate use-cases of RL? Or, was it all hype? Edit: I know a lot about AI. I built NexusTrade, an AI-Powered automated investing tool that lets non-technical users create, update, and deploy their trading strategies. I’m not an idiot nor a noob; RL is just ridiculously hard. Edit 2: Since my comments are being downvoted, here is a link to my article that better describes my position. It's not that I don't understand RL. I released my open-source code and wrote a paper on it. It's the fact that it's EXTREMELY difficult to understand. Other deep learning algorithms like CNNs (including ResNets), RNNs (including GRUs and LSTMs), Transformers, and GANs are not hard to understand. These algorithms work and have practical use-cases outside of the lab. Traditional SOTA RL algorithms like PPO, DDPG, and TD3 are just very hard. You need to do a bunch of research to even implement a toy problem. In contrast, the decision transformer is something anybody can implement, and it seems to match or surpass the SOTA. You don't need two networks battling each other. You don't have to go through hell to debug your network. It just naturally learns the best set of actions in an auto-regressive manner. I also didn't mean to come off as arrogant or imply that RL is not worth learning. I just haven't seen any real-world, practical use-cases of it. I simply wanted to start a discussion, not claim that I know everything. Edit 3: There's a shockingly number of people calling me an idiot for not fully understanding RL. You guys are wayyy too comfortable calling people you disagree with names. News-flash, not everybody has a PhD in ML. My undergraduate degree is in biology. I self-taught myself the high-level maths to understand ML. I'm very passionate about the field; I just have VERY disappointing experiences with RL. Funny enough, there are very few people refuting my actual points. To summarize: Lack of real-world applications Extremely complex and inaccessible to 99% of the population Much harder than traditional DL algorithms like CNNs, RNNs, and GANs Sample inefficiency and instability Difficult to debug Better alternatives, such as the Decision Transformer Are these not legitimate criticisms? Is the purpose of this sub not to have discussions related to Machine Learning? To the few commenters that aren't calling me an idiot...thank you! Remember, it costs you nothing to be nice! Edit 4: Lots of people seem to agree that RL is over-hyped. Unfortunately those comments are downvoted. To clear up some things: We've invested HEAVILY into reinforcement learning. All we got from this investment is a robot that can be super-human at (some) video games. AlphaFold did not use any reinforcement learning. SpaceX doesn't either. I concede that it can be useful for robotics, but still argue that it's use-cases outside the lab are extremely limited. If you're stumbling on this thread and curious about an RL alternative, check out the Decision Transformer. It can be used in any situation that a traditional RL algorithm can be used. Final Edit: To those who contributed more recently, thank you for the thoughtful discussion! From what I learned, model-based models like Dreamer and IRIS MIGHT have a future. But everybody who has actually used model-free models like DDPG unanimously agree that they suck and don’t work.

[D] What is your honest experience with reinforcement learning?
reddit
LLM Vibe Score0
Human Vibe Score1
Starks-TechnologyThis week

[D] What is your honest experience with reinforcement learning?

In my personal experience, SOTA RL algorithms simply don't work. I've tried working with reinforcement learning for over 5 years. I remember when Alpha Go defeated the world famous Go player, Lee Sedol, and everybody thought RL would take the ML community by storm. Yet, outside of toy problems, I've personally never found a practical use-case of RL. What is your experience with it? Aside from Ad recommendation systems and RLHF, are there legitimate use-cases of RL? Or, was it all hype? Edit: I know a lot about AI. I built NexusTrade, an AI-Powered automated investing tool that lets non-technical users create, update, and deploy their trading strategies. I’m not an idiot nor a noob; RL is just ridiculously hard. Edit 2: Since my comments are being downvoted, here is a link to my article that better describes my position. It's not that I don't understand RL. I released my open-source code and wrote a paper on it. It's the fact that it's EXTREMELY difficult to understand. Other deep learning algorithms like CNNs (including ResNets), RNNs (including GRUs and LSTMs), Transformers, and GANs are not hard to understand. These algorithms work and have practical use-cases outside of the lab. Traditional SOTA RL algorithms like PPO, DDPG, and TD3 are just very hard. You need to do a bunch of research to even implement a toy problem. In contrast, the decision transformer is something anybody can implement, and it seems to match or surpass the SOTA. You don't need two networks battling each other. You don't have to go through hell to debug your network. It just naturally learns the best set of actions in an auto-regressive manner. I also didn't mean to come off as arrogant or imply that RL is not worth learning. I just haven't seen any real-world, practical use-cases of it. I simply wanted to start a discussion, not claim that I know everything. Edit 3: There's a shockingly number of people calling me an idiot for not fully understanding RL. You guys are wayyy too comfortable calling people you disagree with names. News-flash, not everybody has a PhD in ML. My undergraduate degree is in biology. I self-taught myself the high-level maths to understand ML. I'm very passionate about the field; I just have VERY disappointing experiences with RL. Funny enough, there are very few people refuting my actual points. To summarize: Lack of real-world applications Extremely complex and inaccessible to 99% of the population Much harder than traditional DL algorithms like CNNs, RNNs, and GANs Sample inefficiency and instability Difficult to debug Better alternatives, such as the Decision Transformer Are these not legitimate criticisms? Is the purpose of this sub not to have discussions related to Machine Learning? To the few commenters that aren't calling me an idiot...thank you! Remember, it costs you nothing to be nice! Edit 4: Lots of people seem to agree that RL is over-hyped. Unfortunately those comments are downvoted. To clear up some things: We've invested HEAVILY into reinforcement learning. All we got from this investment is a robot that can be super-human at (some) video games. AlphaFold did not use any reinforcement learning. SpaceX doesn't either. I concede that it can be useful for robotics, but still argue that it's use-cases outside the lab are extremely limited. If you're stumbling on this thread and curious about an RL alternative, check out the Decision Transformer. It can be used in any situation that a traditional RL algorithm can be used. Final Edit: To those who contributed more recently, thank you for the thoughtful discussion! From what I learned, model-based models like Dreamer and IRIS MIGHT have a future. But everybody who has actually used model-free models like DDPG unanimously agree that they suck and don’t work.

[N] Inside DeepMind's secret plot to break away from Google
reddit
LLM Vibe Score0
Human Vibe Score0
MassivePellfishThis week

[N] Inside DeepMind's secret plot to break away from Google

Article https://www.businessinsider.com/deepmind-secret-plot-break-away-from-google-project-watermelon-mario-2021-9 by Hugh Langley and Martin Coulter For a while, some DeepMind employees referred to it as "Watermelon." Later, executives called it "Mario." Both code names meant the same thing: a secret plan to break away from parent company Google. DeepMind feared Google might one day misuse its technology, and executives worked to distance the artificial-intelligence firm from its owner for years, said nine current and former employees who were directly familiar with the plans. This included plans to pursue an independent legal status that would distance the group's work from Google, said the people, who asked not to be identified discussing private matters. One core tension at DeepMind was that it sold the business to people it didn't trust, said one former employee. "Everything that happened since that point has been about them questioning that decision," the person added. Efforts to separate DeepMind from Google ended in April without a deal, The Wall Street Journal reported. The yearslong negotiations, along with recent shake-ups within Google's AI division, raise questions over whether the search giant can maintain control over a technology so crucial to its future. "DeepMind's close partnership with Google and Alphabet since the acquisition has been extraordinarily successful — with their support, we've delivered research breakthroughs that transformed the AI field and are now unlocking some of the biggest questions in science," a DeepMind spokesperson said in a statement. "Over the years, of course we've discussed and explored different structures within the Alphabet group to find the optimal way to support our long-term research mission. We could not be prouder to be delivering on this incredible mission, while continuing to have both operational autonomy and Alphabet's full support." When Google acquired DeepMind in 2014, the deal was seen as a win-win. Google got a leading AI research organization, and DeepMind, in London, won financial backing for its quest to build AI that can learn different tasks the way humans do, known as artificial general intelligence. But tensions soon emerged. Some employees described a cultural conflict between researchers who saw themselves firstly as academics and the sometimes bloated bureaucracy of Google's colossal business. Others said staff were immediately apprehensive about putting DeepMind's work under the control of a tech giant. For a while, some employees were encouraged to communicate using encrypted messaging apps over the fear of Google spying on their work. At one point, DeepMind's executives discovered that work published by Google's internal AI research group resembled some of DeepMind's codebase without citation, one person familiar with the situation said. "That pissed off Demis," the person added, referring to Demis Hassabis, DeepMind's CEO. "That was one reason DeepMind started to get more protective of their code." After Google restructured as Alphabet in 2015 to give riskier projects more freedom, DeepMind's leadership started to pursue a new status as a separate division under Alphabet, with its own profit and loss statement, The Information reported. DeepMind already enjoyed a high level of operational independence inside Alphabet, but the group wanted legal autonomy too. And it worried about the misuse of its technology, particularly if DeepMind were to ever achieve AGI. Internally, people started referring to the plan to gain more autonomy as "Watermelon," two former employees said. The project was later formally named "Mario" among DeepMind's leadership, these people said. "Their perspective is that their technology would be too powerful to be held by a private company, so it needs to be housed in some other legal entity detached from shareholder interest," one former employee who was close to the Alphabet negotiations said. "They framed it as 'this is better for society.'" In 2017, at a company retreat at the Macdonald Aviemore Resort in Scotland, DeepMind's leadership disclosed to employees its plan to separate from Google, two people who were present said. At the time, leadership said internally that the company planned to become a "global interest company," three people familiar with the matter said. The title, not an official legal status, was meant to reflect the worldwide ramifications DeepMind believed its technology would have. Later, in negotiations with Google, DeepMind pursued a status as a company limited by guarantee, a corporate structure without shareholders that is sometimes used by nonprofits. The agreement was that Alphabet would continue to bankroll the firm and would get an exclusive license to its technology, two people involved in the discussions said. There was a condition: Alphabet could not cross certain ethical redlines, such as using DeepMind technology for military weapons or surveillance. In 2019, DeepMind registered a new company called DeepMind Labs Limited, as well as a new holding company, filings with the UK's Companies House showed. This was done in anticipation of a separation from Google, two former employees involved in those registrations said. Negotiations with Google went through peaks and valleys over the years but gained new momentum in 2020, one person said. A senior team inside DeepMind started to hold meetings with outside lawyers and Google to hash out details of what this theoretical new formation might mean for the two companies' relationship, including specifics such as whether they would share a codebase, internal performance metrics, and software expenses, two people said. From the start, DeepMind was thinking about potential ethical dilemmas from its deal with Google. Before the 2014 acquisition closed, both companies signed an "Ethics and Safety Review Agreement" that would prevent Google from taking control of DeepMind's technology, The Economist reported in 2019. Part of the agreement included the creation of an ethics board that would supervise the research. Despite years of internal discussions about who should sit on this board, and vague promises to the press, this group "never existed, never convened, and never solved any ethics issues," one former employee close to those discussions said. A DeepMind spokesperson declined to comment. DeepMind did pursue a different idea: an independent review board to convene if it were to separate from Google, three people familiar with the plans said. The board would be made up of Google and DeepMind executives, as well as third parties. Former US president Barack Obama was someone DeepMind wanted to approach for this board, said one person who saw a shortlist of candidates. DeepMind also created an ethical charter that included bans on using its technology for military weapons or surveillance, as well as a rule that its technology should be used for ways that benefit society. In 2017, DeepMind started a unit focused on AI ethics research composed of employees and external research fellows. Its stated goal was to "pave the way for truly beneficial and responsible AI." A few months later, a controversial contract between Google and the Pentagon was disclosed, causing an internal uproar in which employees accused Google of getting into "the business of war." Google's Pentagon contract, known as Project Maven, "set alarm bells ringing" inside DeepMind, a former employee said. Afterward, Google published a set of principles to govern its work in AI, guidelines that were similar to the ethical charter that DeepMind had already set out internally, rankling some of DeepMind's senior leadership, two former employees said. In April, Hassabis told employees in an all-hands meeting that negotiations to separate from Google had ended. DeepMind would maintain its existing status inside Alphabet. DeepMind's future work would be overseen by Google's Advanced Technology Review Council, which includes two DeepMind executives, Google's AI chief Jeff Dean, and the legal SVP Kent Walker. But the group's yearslong battle to achieve more independence raises questions about its future within Google. Google's commitment to AI research has also come under question, after the company forced out two of its most senior AI ethics researchers. That led to an industry backlash and sowed doubt over whether it could allow truly independent research. Ali Alkhatib, a fellow at the Center for Applied Data Ethics, told Insider that more public accountability was "desperately needed" to regulate the pursuit of AI by large tech companies. For Google, its investment in DeepMind may be starting to pay off. Late last year, DeepMind announced a breakthrough to help scientists better understand the behavior of microscopic proteins, which has the potential to revolutionize drug discovery. As for DeepMind, Hassabis is holding on to the belief that AI technology should not be controlled by a single corporation. Speaking at Tortoise's Responsible AI Forum in June, he proposed a "world institute" of AI. Such a body might sit under the jurisdiction of the United Nations, Hassabis theorized, and could be filled with top researchers in the field. "It's much stronger if you lead by example," he told the audience, "and I hope DeepMind can be part of that role-modeling for the industry."

[P] Utilizing graph attention-based neural networks and generative AI to build a tool to automate debugging and refactoring Python code
reddit
LLM Vibe Score0
Human Vibe Score0
bobcodes247365This week

[P] Utilizing graph attention-based neural networks and generative AI to build a tool to automate debugging and refactoring Python code

For the last two years, I and three others have been working on a project we started in a research lab. The project is to create a tool that can automatically identify complex programming errors from source code that require a contextual understanding of the code. For this, we have built a graph attention-based neural network that is used to classify problematic code and embed context info. We employ a two-stage system for accurately embedding context information within a single graph. First, we split up the source code into semantic tokens through an nlp2 tokenizer and generate 80-bit vector embeddings using FastText, which has been trained on code snippets of a particular language. We then map those text tokens to groupings identified in the abstract syntax tree, excluding the individual nodes for each text token, opting instead for the function call with attributes as the smallest individual grouping, averaging the embeddings across each token type. The seed data for the system consists of code changes and their surrounding documentation on why a given code change was made. For this, we utilize a BERTopic-based topic modeling system to identify and categorize the reason why the given change was made from the docs. For the explanations and code recommendations, we utilize generative AI models. They are promising for this purpose as we are able to pass enriched context to them along with the problematic code, hoping to receive more accurate outputs. We are just looking for feedback on if the project currently provides any value to Python users. We've published the first version of the tool on vscode marketplace. It's of course free to use, and we'd appreciate any feedback on it. As it's not a weekend, let me know if you are interested to try the tool and give us your thoughts on it.

[D] What is your honest experience with reinforcement learning?
reddit
LLM Vibe Score0
Human Vibe Score1
Starks-TechnologyThis week

[D] What is your honest experience with reinforcement learning?

In my personal experience, SOTA RL algorithms simply don't work. I've tried working with reinforcement learning for over 5 years. I remember when Alpha Go defeated the world famous Go player, Lee Sedol, and everybody thought RL would take the ML community by storm. Yet, outside of toy problems, I've personally never found a practical use-case of RL. What is your experience with it? Aside from Ad recommendation systems and RLHF, are there legitimate use-cases of RL? Or, was it all hype? Edit: I know a lot about AI. I built NexusTrade, an AI-Powered automated investing tool that lets non-technical users create, update, and deploy their trading strategies. I’m not an idiot nor a noob; RL is just ridiculously hard. Edit 2: Since my comments are being downvoted, here is a link to my article that better describes my position. It's not that I don't understand RL. I released my open-source code and wrote a paper on it. It's the fact that it's EXTREMELY difficult to understand. Other deep learning algorithms like CNNs (including ResNets), RNNs (including GRUs and LSTMs), Transformers, and GANs are not hard to understand. These algorithms work and have practical use-cases outside of the lab. Traditional SOTA RL algorithms like PPO, DDPG, and TD3 are just very hard. You need to do a bunch of research to even implement a toy problem. In contrast, the decision transformer is something anybody can implement, and it seems to match or surpass the SOTA. You don't need two networks battling each other. You don't have to go through hell to debug your network. It just naturally learns the best set of actions in an auto-regressive manner. I also didn't mean to come off as arrogant or imply that RL is not worth learning. I just haven't seen any real-world, practical use-cases of it. I simply wanted to start a discussion, not claim that I know everything. Edit 3: There's a shockingly number of people calling me an idiot for not fully understanding RL. You guys are wayyy too comfortable calling people you disagree with names. News-flash, not everybody has a PhD in ML. My undergraduate degree is in biology. I self-taught myself the high-level maths to understand ML. I'm very passionate about the field; I just have VERY disappointing experiences with RL. Funny enough, there are very few people refuting my actual points. To summarize: Lack of real-world applications Extremely complex and inaccessible to 99% of the population Much harder than traditional DL algorithms like CNNs, RNNs, and GANs Sample inefficiency and instability Difficult to debug Better alternatives, such as the Decision Transformer Are these not legitimate criticisms? Is the purpose of this sub not to have discussions related to Machine Learning? To the few commenters that aren't calling me an idiot...thank you! Remember, it costs you nothing to be nice! Edit 4: Lots of people seem to agree that RL is over-hyped. Unfortunately those comments are downvoted. To clear up some things: We've invested HEAVILY into reinforcement learning. All we got from this investment is a robot that can be super-human at (some) video games. AlphaFold did not use any reinforcement learning. SpaceX doesn't either. I concede that it can be useful for robotics, but still argue that it's use-cases outside the lab are extremely limited. If you're stumbling on this thread and curious about an RL alternative, check out the Decision Transformer. It can be used in any situation that a traditional RL algorithm can be used. Final Edit: To those who contributed more recently, thank you for the thoughtful discussion! From what I learned, model-based models like Dreamer and IRIS MIGHT have a future. But everybody who has actually used model-free models like DDPG unanimously agree that they suck and don’t work.

[D] Is this close enough to be usable? Need your inputs: Automated RAG testing tool. AI Data Pipelines for Real-World Production (Part 3)
reddit
LLM Vibe Score0
Human Vibe Score1
Snoo-bedoooThis week

[D] Is this close enough to be usable? Need your inputs: Automated RAG testing tool. AI Data Pipelines for Real-World Production (Part 3)

Hey there, Redditors! I'm back with the latest installment on creating dependable AI data pipelines for real-world production. If you've been following along, you know I'm on a mission to move beyond the "thin OpenAI wrapper" trend and tackle the challenges of building robust data pipelines. With 18 months of hands-on experience and many user interviews, I realized that with the probabilistic nature of systems, we need better\_testing.gpt: As you build you should test The world of AI is a fast-moving one, and we've realized that just working on systems is not an optimal design choice. By the time your product ships, it might already be using outdated technology. So, what's the lesson here? Embrace change, test along, but be prepared to switch pace. No Best Practices Yet for RAGs In this rapidly evolving landscape, there are no established best practices. You'll need to make educated bets on tools and processes, knowing that things will change. With the RAG testing tool, I tried allowing for testing many potential parameter combinations automatically Testing Frameworks If your generative AI product doesn't have users giving feedback, then you are building in isolation. I used Deepeval to generate test sets, and they will soon support synthetic test set generation Infographics only go so far AI researchers and data scientists, while brilliant, end up in a loop of pursuing Twitter promotional content. New ways are promoted via new content pieces, but ideally, we need something above simple tracing but less than full-fledged analytics. To do this, I stored test outputs in Postgres and created a Superset instance to visualize the results Bridging the Gap between VectorDBs There's a noticeable number of Vector DBs. To ensure smooth product development, we need to be able to switch to best best-performing one, especially since user interviews signal that they might start deteriorating after loading 50 million rows ​ Github repo is here Next steps: I have questions for you: What variables do you change when building RAGs? What is the set of strategies I should add to the solution? (parent-son etc.) How can I improve it in general? Is anyone interested in a leaderboard for best parameter configs? Check out the blog post: Link to part 3 Remember to give this post an upvote if you found it insightful! And also star our Github repo

Building and launching an AI-powered Product Strategy tool, or; a story of nights and weekends
reddit
LLM Vibe Score0
Human Vibe Score1
_raZeThis week

Building and launching an AI-powered Product Strategy tool, or; a story of nights and weekends

Speaking to peers in the software development sphere I learned of one constant that we had all personally experienced throughout our careers: a bloated product development process that feels like work for the sake of work, centred around the highest-paid person's opinion instead of its customers. We didn't like how current tools assume AI will provide the perfect answer on the first run. Instead, we wanted a tool that allows for manual refining and editing AI suggestions, keeping all previous ideas in context. This way, we can develop a solution step by step, instead of trying to get it perfect on the first try. An approach more similar to how you'd typically approach product discovery as a human. AI is then used to help save time and reduce admin, instead of replace the expert So, we got together and asked over 100 Product Managers questions about it, brought all that feedback goodness together, and started building Squad. We think we've created something really cool and hope you think so too. The ELI5 on what Squad does: 1) Creates alignment that empowers bottom up software development whilst keeping executive in the loop 2) Increases confidence that what you're building is what people actually want - data driven by default 2) Speeds up the time from idea --> execution by ideating with you on an experimentation approach 3) Helps gives PMs time back to focus on strategy (currently stats show they spend 75% of their time on admin, 25% on strategy) The team hustled hard on this as a passion project while working day jobs, and today have launched on Product Hunt. Check it out and see if the mission resonates with you, we'd appreciate the love! https://www.producthunt.com/posts/squad-8b75e29c-d767-4a8f-a60a-fd162e141a72 ​

boring passive site... now 42k monthly visitors and $2540 MRR
reddit
LLM Vibe Score0
Human Vibe Score1
TasAdamsThis week

boring passive site... now 42k monthly visitors and $2540 MRR

people underestimate SEO... It is evergreen... passive... digital real estate. it can do magic... if you are consistent. Especially now with AI you can 2X your traffic growth and automate 85% of the work. For the past 6 months... we've been building an online directory. we just reached $2540 MRR... with SEO only... from a complete zero. I did share this on other subreddits. Maybe this gives ideas to someone. \+ This can be easily replicated if you have a website lol Current metrics: $2540 MRR - businesses pay us to list on the directory + display ads + pay to be featured. 43k monthly visitors - in the past couple of weeks our SEO growth is a hockey stick. DR (Domain Rating) 35 - it took us 2.5 months to get to that. 51 okay-ish quality referring domains (90% of them are do-follow) and 1.6k backlinks. There are probably 3 main pillars I try to focus on: keywords --> which then is the basis for ALL the content pieces we do blogs, landing pages, about us pages, competitor comparisons etc --> we use a DIY excel file to automate content production at scale. backlinks --> boost DR --> one of the main things to boost ranking on google. website health --> this is technical stuff like internal and external linking, schemas, canonical tags, alt texts, load speeds, compressed images, meta descriptions, titles etc --> do this once... and do it GOOD. $0.07 per SEO optimised blog at scale with AI Yep... we've literally built our own SEO blog tool... and it is a Spreadsheet with bunch of app scripts :D NOTE that we add a little bit of human touch to those blogs that are picked up by Google rank top in 25 How it works... is that we paste in bunch of links (other websites, blogs, news articles) and with a click of a button we can get up to 2000 SEO optimised content pieces... from an Excel file... $0.07 per blog. The spreadsheet is integrated with Chat gpt (obviously). We use GPT-4 for meta descriptions, titles, transforming the content from text to html code since it is more powerful, and GPT-4o for content itself because it is cheaper and faster for "general text". The spreadsheet repurposes content. The spreadsheet generates: Meta descriptions and titles FAQs sections - DON'T skip FAQ sections! They are a must for SEO. On Ahrefs... there is a section of questions people are searching about your keyword... that's your FAQs It can find contextual youtube videos (links to those videos) - to show google that our content is not "just text" thus higher quality. Screenshots and images of the original source (the website link we inputed) I then download a csv version of the excel and import it into our Webflow. The csv file column names match our webflow CMS field names. tbh... we didn't even know that it can be done with a spreadsheet. We "tried" building it because every other tool we were using is (1) expensive from $0.59 per SEO content piece (2) they didn't provide the scale we wanted (3) we wanted more control over the output. Focus on DR 35+ backlinks... easier We bought backlinks only once... rest of the backlinks was a manual work from us. Bunch of free listing databases (about 65% of our backlinks) You can comment on open forums with your link to get a backlink (be careful tho) Post a blog on Medium com --> DR 94 backlink (takes time to Index) If you pay for Notion you can get a DR 94 backlink from Notion If you use Beehiiv you can get a DR 86 backlink from Beehiiv Google product stacking (Google sites, Google notes etc) --> backlink from almighty Google itself A lot of work goes into backlinks because they are THAT important. I have tried bunch of "black hat" strategies as well... but note that all of these strategies won't work if you don't index the primary source from where your backlink is coming from. BIG search volume and low KD Key things I'm looking for in keywords: I use Ahrefs Keyword research tool... it is literally free BIG search volume - 2k+ is oaky-ish for a single keyword EASY to rank - KD (keyword difficulty) below 15 Look for long tail keywords (these are golden nuggets since they have a VERY clear search intent) - "how to edit..." "how to change..." "how to delete..." "how to paint..." I hope you got the idea. on Ahrefs you can use "\" to get BIG volume long tail keywords... like this "my keyword\". Ahrefs then populates the "\" with the tail. Check SERP (Search Engine Result Page) for your keywords - it shows current top 10 pages for those KWs. Check their content. Can you improve it? Have they missed anything? Keyword gap from your competitors - shows EASY keywords that your competitors have missed and also shows what keywords overlap with you. Also one cool thing... if you don't type any keywords on Ahrefs and press "Enter"... you can browse all the keywords out there... it is magical. Once we have the keywords, we run our spreadsheet. And that's pretty much it. I hope that you can get some ideas from this little silly project. Also... if you have any questions about this... I might share the SEO blog automation excel file/help if people are interested...

AI Will Make You Extremely Rich or Kill Your Business in 2024
reddit
LLM Vibe Score0
Human Vibe Score1
AntsyNursery58This week

AI Will Make You Extremely Rich or Kill Your Business in 2024

Preface: I'm a solo-founder in the AI space and previously worked as an ML scientist; the new advancements in AI that I'm seeing are going to impact everyone here. It doesn't matter if you're just starting out, or a bootstrapped brick and mortar founder, or even a VC backed hard tech founder. Last year was when the seeds were laid, and this is the year we'll see them bloom. There will be an onslaught of advancements that take place that are borderline inconceivable due to the nature of exponential progress. This will change every single vertical. I'm making this post because I think AI execution strategy will make or break businesses. Dramatically. Over $50B was put into AI startups in 2023 alone. This figure excludes the hundreds of billions poured into AI from enterprises. So, let's follow the money: ​ 1) AI enterprise software. There's a lot to unpack here and this is what I’m currently working on. AI enterprise software will encompass everything from hyper personalized email outbound to AI cold calls to AI that A/B tests ads on synthetic data to vertical specific software. The impact of the former is relatively self explanatory, so I'll focus on the latter. To illustrate vertical specific AI software, I'll use a simple example in the legal space. Lawyers typically have to comb through thousands of pages of documents. Now, using an LLM + a VDB, an AI can instantly answer all of those questions while surfacing the source and highlighting the specific answer in the contract/document. There are dozens of AI startups for this use case alone. This saves lawyers an immense amount of time and allows them to move faster. Firms that adopt this have a fundamental advantage over law firms that don't adopt this. This was 2023 technology. I'm seeing vertical AI software getting built by my friends in areas from construction, to real estate, to even niche areas like chimney manufacturing. This will exist everywhere. Now, this can be extrapolated much further to be applicable to systems that can do reports and even browse the Internet. This brings me to my next point. ​ 2) AI information aggregation and spread. My gut tells me that this will have a crescendo moment in the future with hardware advancements (Rabbit, Tab, etc.). You won't have to google things because it will be surfaced to you. It's predictive in nature. The people who can get information the fastest will grow their business the fastest. This part is semi-speculative, but due to the nature of LLMs being so expensive to train, I have a strong feeling that large institutions will have access to the \fastest\ and \best\ models that can do this quicker than you and I can. This is why it's important to stay on top. ​ 3) AI content generation This is relevant to running advertisements and any digital marketing aspect of your business. If you can rapidly make content faster than your competitors to put in social media, you will outpace your competitors rapidly. I think most folks are familiar with MidJourney, Stable diffusion, etc. but don't know how to use it. You can generate consistent models for a clothing brand or generate images of a product that you would normally need to hire a professional photographer to take. There's also elevenlabs which is relatively easy to use and can be used to make an MP3 clip as a narration for an ad; this is something I've already done. I'm also still shocked by how many people are unfamiliar with tools like Pika which can do video generation. You could imagine companies having fleets of digital influencers that they control or conjuring up the perfect ad for a specific demographic using a combination of all of the aforementioned tools. ​ In summary, if you feel like I'm being hyperbolic or propagating science fiction fantasies, you're likely already behind. I truly recommend that everyone stays up to date on these advancements as much as possible. If your competitor comes across an AI tool that can increase their ROAS by 5x they can crush you. If your competitor uses a tool that increases the rate at which they receive and aggregate information by 200% (modest estimate) they will crush you. If your competitors have a tool that can reduce their employee size, then they will use it. They'll fire their employees to cut costs and reinvest the money back into their business. It will compound to the point where you're outpaced, and this isn't a level of innovation we've seen since the birth of the industrial revolution. Your customers can get stolen overnight, or you can steal your competition’s customers overnight. TL;DR: This is an opportunity for entrepreneurs to scale faster than they could have possibly imagined, but this also comes with the potential for your company to be obliterated. We've never seen advancements that can have this drastic of an impact this quickly. Adoption will happen fast, and first movers will have a disproportionate and compounding advantage. Watch guides, meet with startups, follow the news, and get rich.

Beginner to the 1st sale: my journey building an AI for social media marketers
reddit
LLM Vibe Score0
Human Vibe Score1
Current-Payment-5403This week

Beginner to the 1st sale: my journey building an AI for social media marketers

Hey everyone! Here’s my journey building an AI for social media marketers all the way up until my first pre-launch sale, hope that could help some of you: My background: studied maths at uni before dropping out to have some startup experiences. Always been drawn to building new things so I reckoned I would have some proper SaaS experiences and see how VC-funded startups are doing it before launching my own.  I’ve always leaned towards taking more risks in my life so leaving my FT job to launch my company wasn’t a big deal for me (+ I’m 22 so still have time to fail over and over). When I left my job, I started reading a lot about UI/UX, no-code tools, marketing, sales and every tool a worthwhile entrepreneur needs to learn about. Given the complexity of the project I set out to achieve, I asked a more technical friend to join as a cofounder and that's when AirMedia was born. We now use bubble for landing page as I had to learn it and custom-code stack for our platform.  Here's our goal: streamlining social media marketing using AI. I see this technology has only being at the premises of what it will be able to achieve in the near-future. We want to make the experience dynamic i.e. all happens from a discussion and you see the posts being analysed from there as well as the creation process - all from within the chat. Fast forward a few weeks ago, we finished developing the first version of our tool that early users describe as a "neat piece of tech" - just this comment alone can keep me going for months :) Being bootstrapped until now, I decided to sell lifetime deals for the users in the waitlist that want to get the tool in priority as well as secure their spot for life. We've had the first sale the first day we made that public ! Now what you all are looking for: How ?  Here was my process starting to market the platform: I need a high-converting landing page so I reckoned which companies out there have the most data and knows what convert and what doesn’t: Unbounce. Took their landing page and adapted it to my value proposition and my ICP.  The ICP has been defined from day 1 and although I’m no one to provide any advice, I strongly believe the ICP has to be defined from day 1 (even before deciding the name of the company). It helps a lot when the customer is you and you’ve had this work experience that helps you identify the problems your users encounter. Started activating the network, posting on Instagram and LinkedIn about what we've built (I've worked in many SaaS start-ups in the past so I have to admit that's a bit of a cheat code). Cold outreach from Sales NAV to our ICP, been growing the waitlist in parallel of building the tool for months now so email marketings with drip sequences and sharing dev updates to build the trust along the way (after all we're making that tool for our users - they should be the first aware about what we're building). I also came across some Whatsapp groups with an awesome community that welcomed our platform with excitement.) The landing page funnel is the following: Landing page -> register waitlist -> upsell page -> confirmation. I've made several landing pages e.g. for marketing agencies, for real estate agents, for marketing director in several different industries. The goal now is just testing out the profiles and who does it resonate the most with. Another growth hack that got us 40+ people on the waitlist: I identified some Instagram posts from competitors where their CTA was "comment AI" and I'll send you our tool and they got over 2k people commenting. Needless to say, I messaged every single user to check out our tool and see if it could help them. (Now that i think about it, the 2% conversion rate there is not great - especially considering the manual labour and the time put behind it). We’ve now got over 400 people on the waitlist so I guess we’re doing something right but we’ll keep pushing as the goal is to sell these lifetime deals to have a strong community to get started. (Also prevents us from going to VCs and I can keep my time focussing exclusively on our users - I’m not into boardroom politics, just wanna build something useful for marketers). Now I’m still in the process of testing out different marketing strategies while developing and refining our platform to make it next level on launch day. Amongst those:  LinkedIn Sales Nav outreach (first sale came from there) Product Hunt Highly personalised cold emails (there I’m thinking of doing 20 emails a day with a personalised landing page to each of those highly relevant marketers). Never seen that and I think this could impress prospects but not sure it’s worth it time / conversion wise. Make content to could go viral (at least 75 videos) that I’m posting throughout several social media accounts such as airmedia\\, airmedia\reels, airmedia\ai (you get the hack) always redirecting to the main page both in the profile description and tagging the main account. I have no idea how this will work so will certainly update some of you that would like to know the results. Will do the same across Facebook, TikTok, Youtube Shorts etc… I’m just looking for a high potential of virality there. This strategy is mainly used to grow personal brands but never seen it applied to companies. Good old cold calling Reddit (wanna keep it transparent ;) ) I’m alone to execute all these strategies + working in parallel to refine the product upon user’s feedback I’m not sure I can do more than that for now. Let me know if you have any feedback/ideas/ tasks I could implement.  I could also make another post about the proper product building process as this post was about the marketing. No I certainly haven’t accomplished anything that puts me in a position to provide advices but I reckon I’m on my way to learn more and more. Would be glad if this post could help some of you.  And of course as one of these marketing channels is Reddit I’ll post the link below for the entrepreneurs that want to streamline their social media or support us. Hope I was able to provide enough value in this post for you to consider :) https://airmedia.uk/

How To Learn About AI Agents (A Road Map From Someone Who's Done It)
reddit
LLM Vibe Score0
Human Vibe Score0.882
laddermanUSThis week

How To Learn About AI Agents (A Road Map From Someone Who's Done It)

If you are a newb to AI Agents, welcome, I love newbies and this fledgling industry needs you! You've hear all about AI Agents and you want some of that action right?  You might even feel like this is a watershed moment in tech, remember how it felt when the internet became 'a thing'?  When apps were all the rage?  You missed that boat right?   Well you may have missed that boat, but I can promise you one thing..... THIS BOAT IS BIGGER !  So if you are reading this you are getting in just at the right time.  Let me answer some quick questions before we go much further: Q: Am I too late already to learn about AI agents? A: Heck no, you are literally getting in at the beginning, call yourself and 'early adopter' and pin a badge on your chest! Q: Don't I need a degree or a college education to learn this stuff?  I can only just about work out how my smart TV works! A: NO you do not.  Of course if you have a degree in a computer science area then it does help because you have covered all of the fundamentals in depth... However 100000% you do not need a degree or college education to learn AI Agents.  Q: Where the heck do I even start though?  Its like sooooooo confusing A: You start right here my friend, and yeh I know its confusing, but chill, im going to try and guide you as best i can. Q: Wait i can't code, I can barely write my name, can I still do this? A: The simple answer is YES you can. However it is great to learn some basics of python.  I say his because there are some fabulous nocode tools like n8n that allow you to build agents without having to learn how to code...... Having said that, at the very least understanding the basics is highly preferable. That being said, if you can't be bothered or are totally freaked about by looking at some code, the simple answer is YES YOU CAN DO THIS. Q: I got like no money, can I still learn? A: YES 100% absolutely.  There are free options to learn about AI agents and there are paid options to fast track you.  But defiantly you do not need to spend crap loads of cash on learning this.  So who am I anyway? (lets get some context)  I am an AI Engineer and I own and run my own AI Consultancy business where I design, build and deploy AI agents and AI automations.  I do also run a small academy where I teach this stuff, but I am not self promoting or posting links in this post because im not spamming this group.  If you want links send me a DM or something and I can forward them to you.  Alright so on to the good stuff, you're a newb, you've already read a 100 posts and are now totally confused and every day you consume about 26 hours of youtube videos on AI agents.....I get you, we've all been there.  So here is my 'Worth Its Weight In Gold' road map on what to do: \[1\]  First of all you need learn some fundamental concepts.  Whilst you can defiantly jump right in start building, I strongly recommend you learn some of the basics.  Like HOW to LLMs work, what is a system prompt, what is long term memory, what is Python, who the heck is this guy named Json that everyone goes on about?  Google is your old friend who used to know everything, but you've also got your new buddy who can help you if you want to learn for FREE.  Chat GPT is an awesome resource to create your own mini learning courses to understand the basics. Start with a prompt such as: "I want to learn about AI agents but this dude on reddit said I need to know the fundamentals to this ai tech, write for me a short course on Json so I can learn all about it. Im a beginner so keep the content easy for me to understand. I want to also learn some code so give me code samples and explain it like a 10 year old" If you want some actual structured course material on the fundamentals, like what the Terminal is and how to use it, and how LLMs work, just hit me, Im not going to spam this post with a hundred links. \[2\] Alright so let's assume you got some of the fundamentals down.  Now what? Well now you really have 2 options.  You either start to pick up some proper learning content (short courses) to deep dive further and really learn about agents or you can skip that sh\*t and start building!  Honestly my advice is to seek out some short courses on agents, Hugging Face have an awesome free course on agents and DeepLearningAI also have numerous free courses. Both are really excellent places to start.  If you want a proper list of these with links, let me know.  If you want to jump in because you already know it all, then learn the n8n platform!   And no im not a share holder and n8n are not paying me to say this.  I can code, im an AI Engineer and I use n8n sometimes.   N8N is a nocode platform that gives you a drag and drop interface to build automations and agents.  Its very versatile and you can self host it.  Its also reasonably easy to actually deploy a workflow in the cloud so it can be used by an actual paying customer.  Please understand that i literally get hate mail from devs and experienced AI enthusiasts for recommending no code platforms like n8n.  So im risking my mental wellbeing for you!!!    \[3\] Keep building!   ((WTF THAT'S IT?????))  Yep. the more you build the more you will learn.  Learn by doing my young Jedi learner.  I would call myself pretty experienced in building AI Agents, and I only know a tiny proportion of this tech.  But I learn but building projects and writing about AI Agents.  The more you build the more you will learn.  There are more intermediate courses you can take at this point as well if you really want to deep dive (I was forced to - send help) and I would recommend you do if you like short courses because if you want to do well then you do need to understand not just the underlying tech but also more advanced concepts like Vector Databases and how to implement long term memory.  Where to next? Well if you want to get some recommended links just DM me or leave a comment and I will DM you, as i said im not writing this with the intention of spamming the crap out of the group. So its up to you.  Im also happy to chew the fat if you wanna chat, so hit me up.  I can't always reply immediately because im in a weird time zone, but I promise I will reply if you have any questions. THE LAST WORD (Warning - Im going to motivate the crap out of you now) Please listen to me:  YOU CAN DO THIS.  I don't care what background you have, what education you have, what language you speak or what country you are from..... I believe in you and anyway can do this.  All you need is determination, some motivation to want to learn and a computer (last one is essential really, the other 2 are optional!) But seriously you can do it and its totally worth it.  You are getting in right at the beginning of the gold rush, and yeh I believe that.   AI Agents are going to be HUGE. I believe this will be the new internet gold rush.

101 best SEO tips to help you drive traffic in 2k21
reddit
LLM Vibe Score0
Human Vibe Score0.543
DrJigsawThis week

101 best SEO tips to help you drive traffic in 2k21

Hey guys! I don't have to tell you how SEO can be good for your business - you can drive leads to your SaaS on autopilot, drive traffic to your store/gym/bar/whatever, etc. The thing with SEO, though, is that most SEO tips on the internet are just not that good. Most of the said tips: Are way too simple & basic (“add meta descriptions to your images”*) Are not impactful. Sure, adding that meta tag to an image is important, but that’s not what’s going to drive traffic to your website Don’t talk much about SEO strategy (which is ultimately the most important thing for SEO). Sure, on-page SEO is great, but you sure as hell won't drive much traffic if you can't hire the right writers to scale your content. And to drive serious SEO traffic, you'll need a LOT more than that. Over the past few years, my and my co-founder have helped grow websites to over 200k+ monthly traffic (check out our older Reddit post if you want to learn more about us, our process, and what we do), and we compiled all our most important SEO tips and tricks, as well as case studies, research, and experiments from the web, into this article. Hope you like it ;) If you think we missed something super important, let us know and we'll add it to the list. And btw, we also published this article on our own blog with images, smart filters, and all that good stuff. If you want to check it out, click here. That said, grab some coffee (or beer) & let's dive in - this is going to be a long one. SEO Strategy Tips Tip #1. A Lot of SEO Tips On The Internet Are NOT Necessarily Factual A lot of the SEO content you’ll read on the internet will be based on personal experiences and hearsay. Unfortunately, Google is a bit vague about SEO advice, so you have to rely more on experiments conducted by SEO pros in the community. So, sometimes, a lot of this information is questionable, wrong, or simply based on inaccurate data.  What we’re getting at here is, whenever you hear some new SEO advice, take it with a grain of salt. Google it to double-check other sources, and really understand what this SEO advice is based on (instead of just taking it at face value). Tip #2. SEO Takes Time - Get Used to It Any way you spin it, SEO takes time.  It can take around 6 months to 2 years (depending on the competition in your niche) before you start seeing some serious results.  So, don’t get disappointed if you don’t see any results within 3 months of publishing content. Tip #3. SEO Isn’t The Best Channel for Everyone That said, if you need results for your business tomorrow, you might want to reconsider SEO altogether.  If you just started your business, for example, and are trying to get to break-even ASAP, SEO is a bad idea - you’ll quit before you even start seeing any results.  If that’s the case, focus on other marketing channels that can have faster results like content marketing, PPC, outreach, etc. Tip #4. Use PPC to Validate Keywords Not sure if SEO is right for your business? Do this: set up Google Search ads for the most high-intent keywords in your niche. See how well the traffic converts and then decide if it’s worthwhile to focus on SEO (and rank on these keywords organically). Tip #5. Use GSC to See If SEO Is Working While it takes a while to see SEO results, it IS possible to see if you’re going in the right direction. On a monthly basis, you can use Search Console to check if your articles are indexed by Google and if their average position is improving over time. Tip #6. Publish a TON of Content The more content you publish on your blog, the better. We recommend a minimum of 10,000 words per month and optimally 20,000 - 30,000 (especially if your website is fresh). If an agency offers you the typical “4 500-word articles per month” deal, stay away. No one’s ever gotten results in SEO with short, once-per-week articles. Tip #7. Upgrade Your Writers Got a writer that’s performing well? Hire them as an editor and get them to oversee content operations / edit other writers’ content. Then, upgrade your best editor to Head of Content and get them to manage the entire editor / writer ops. Tip #8. Use Backlink Data to Prioritize Content When doing keyword research, gather the backlink data of the top 3 ranking articles and add it to your sheet. Then, use this data to help you prioritize which keywords to focus on first. We usually prioritize keywords that have lower competition, high traffic, and a medium to high buyer intent. Tip #9. Conduct In-Depth Keyword Research Make your initial keyword research as comprehensive as possible. This will give you a much more realistic view of your niche and allow you to prioritize content the right way. We usually aim for 100 to 300 keywords (depending on the niche) for the initial keyword research when we start working with a client. Tip #10. Start With Competitive Analysis Start every keyword research with competitive analysis. Extract the keywords your top 3 competitors are ranking on.  Then, use them as inspiration and build upon it. Use tools like UberSuggest to help generate new keyword ideas. Tip #11. Get SEMrush of Ahrefs You NEED SEMrush or Ahrefs, there’s no doubt about it. While they might seem expensive at a glance (99 USD per month billed annually), they’re going to save you a lot of manpower doing menial SEO tasks. Tip #12. Don’t Overdo It With SEO Tools Don’t overdo it with SEO tools. There are hundreds of those out there, and if you’re the type that’s into SaaS, you might be tempted to play around with dozens at a time. And yes, to be fair, most of these tools ARE helpful one way or another. To effectively do organic SEO, though, you don’t really need that many tools. In most cases, you just need the following: SEMrush/Ahrefs Screaming Frog RankMath/Yoast SEO Whichever outreach tool you prefer (our favorite is snov.io). Tip #13. Try Some of the Optional Tools In addition to the tools we mentioned before, you can also try the following 2 which are pretty useful & popular in the SEO community: Surfer SEO - helps with on-page SEO and creating content briefs for writers. ClusterAI - tool that helps simplify keyword research & save time. Tip #14. Constantly Source Writers Want to take your content production to the next level? You’ll need to hire more writers.  There is, however, one thing that makes this really, really difficult: 95 - 99% of writers applying for your gigs won’t be relevant. Up to 80% will be awful at writing, and the remainder just won’t be relevant for your niche. So, in order to scale your writing team, we recommend sourcing constantly, and not just once every few months. Tip #15. Create a Process for Writer Filtering As we just mentioned, when sourcing writers, you’ll be getting a ton of applicants, but most won’t be qualified. Fun fact \- every single time we post a job ad on ProBlogger, we get around 300 - 500 applications (most of which are totally not relevant). Trust us, you don’t want to spend your time going through such a huge list and checking out the writer samples. So, instead, we recommend you do this: Hire a virtual assistant to own the process of evaluating and short-listing writers. Create a process for evaluating writers. We recommend evaluating writers by: Level of English. If their samples aren’t fluent, they’re not relevant. Quality of Samples. Are the samples engaging / long-form content, or are they boring 500-word copy-pastes? Technical Knowledge. Has the writer written about a hard-to-explain topic before? Anyone can write about simple topics like traveling - you want to look for someone who knows how to research a new topic and explain it in a simple and easy to read way. If someone’s written about how to create a perfect cover letter, they can probably write about traveling, but the opposite isn’t true. The VA constantly evaluates new applicants and forwards the relevant ones to the editor. The editor goes through the short-listed writers and gives them trial tasks and hires the ones that perform well. Tip #16. Use The Right Websites to Source Writers “Is UpWork any good?” This question pops up on social media time and time again. If you ask us, no, UpWork is not good at all. Of course, there are qualified writers there (just like anywhere else), but from our experience, those writers are few and far in-between. Instead, here are some of our favorite ways to source writers: Cult of Copy Job Board ProBlogger Headhunting on LinkedIn If you really want to use UpWork, use it for headhunting (instead of posting a job ad) Tip #17. Hire Writers the Right Way If you want to seriously scale your content production, hire your writers full-time. This (especially) makes sense if you’re a content marketing agency that creates a TON of content for clients all the time. If you’re doing SEO just for your own blog, though, it usually makes more sense to use freelancers. Tip #18. Topic Authority Matters Google keeps your website's authoritativeness in mind. Meaning, if you have 100 articles on digital marketing, you’re probably more of an authority on the topic than someone that has just 10. Hence, Google is a lot more likely to reward you with better rankings. This is also partially why content volume really matters: the more frequently you publish content, the sooner Google will view you as an authority. Tip #19. Focus on One Niche at a Time Let’s say your blog covers the following topics: sales, accounting, and business management.  You’re more likely to rank if you have 30 articles on a single topic (e.g. accounting) than if you have 10 articles on each. So, we recommend you double-down on one niche instead of spreading your content team thin with different topics. Tip #20. Don’t Fret on the Details While technical SEO is important, you shouldn’t get too hung up on it.  Sure, there are thousands of technical tips you can find on the internet, and most of them DO matter. The truth, though, is that Google won’t punish you just because your website doesn’t load in 3 milliseconds or there’s a meta description missing on a single page. Especially if you have SEO fundamentals done right: Get your website to run as fast as possible. Create a ton of good SEO content. Get backlinks for your website on a regular basis. You’ll still rank, even if your website isn’t 100% optimized. Tip #21. Do Yourself a Favor and Hire a VA There are a TON of boring SEO tasks that your team should really not be wasting time with. So, hire a full-time VA to help with all that. Some tasks you want to outsource include gathering contacts to reach out to for link-building, uploading articles on WordPress, etc. Tip #22. Google Isn’t Everything While Google IS the dominant search engine in most parts of the world, there ARE countries with other popular search engines.  If you want to improve your SEO in China, for example, you should be more concerned with ranking on Baidu. Targeting Russia? Focus on Yandex. Tip #23. No, Voice Search is Still Not Relevant Voice search is not and will not be relevant (no matter what sensationalist articles might say). It’s just too impractical for most search queries to use voice (as opposed to traditional search). Tip #24. SEO Is Not Dead SEO is not dead and will still be relevant decades down the line. Every year, there’s a sensationalist article talking about this.  Ignore those. Tip #25. Doing Local SEO? Focus on Service Pages If you’re doing local SEO, focus on creating service-based landing pages instead of content.  E.g. if you’re an accounting firm based in Boston, you can make a landing page about /accounting-firm-boston/, /tax-accounting-boston/, /cpa-boston/, and so on. Thing is, you don’t really need to rank on global search terms - you just won’t get leads from there. Even if you ranked on the term “financial accounting,” it wouldn’t really matter for your bottom line that much. Tip #26. Learn More on Local SEO Speaking of local SEO, we definitely don’t do the topic justice in this guide. There’s a lot more you need to know to do local SEO effectively and some of it goes against the general SEO advice we talk about in this article (e.g. you don't necessarily need blog content for local SEO). We're going to publish an article on that soon enough, so if you want to check it out, DM me and I'll hit you up when it's up. Tip #27. Avoid Vanity Metrics Don’t get side-tracked by vanity metrics.  At the end of the day, you should care about how your traffic impacts your bottom line. Fat graphs and lots of traffic are nice and all, but none of it matters if the traffic doesn’t have the right search intent to convert to your product/service. Tip #28. Struggling With SEO? Hire an Expert Failing to make SEO work for your business? When in doubt, hire an organic SEO consultant or an SEO agency.  The #1 benefit of hiring an SEO agency or consultant is that they’ve been there and done that - more than once. They might be able to catch issues an inexperienced SEO can’t. Tip #29. Engage With the Community Need a couple of SEO questions answered?  SEO pros are super helpful & easy to reach! Join these Facebook groups and ask your question - you’ll get about a dozen helpful answers! SEO Signals Lab SEO & Content Marketing The Proper SEO Group. Tip #30. Stay Up to Date With SEO Trends SEO is always changing - Google is constantly pumping out new updates that have a significant impact on how the game is played.  Make sure to stay up to date with the latest SEO trends and Google updates by following the Google Search Central blog. Tip #31. Increase Organic CTR With PPC Want to get the most out of your rankings? Run PPC ads for your best keywords. Googlers who first see your ad are more likely to click your organic listing. Content & On-Page SEO Tips Tip #32. Create 50% Longer Content On average, we recommend you create an article that’s around 50% longer than the best article ranking on the keyword.  One small exception, though, is if you’re in a super competitive niche and all top-ranking articles are already as comprehensive as they can be. For example, in the VPN niche, all articles ranking for the keyword “best VPN” are around 10,000 - 11,000 words long. And that’s the optimal word count - even if you go beyond, you won’t be able to deliver that much value for the reader to make it worth the effort of creating the content. Tip #33. Longer Is Not Always Better Sometimes, a short-form article can get the job done much better.  For example, let’s say you’re targeting the keyword “how to tie a tie.”  The reader expects a short and simple guide, something under 500 words, and not “The Ultimate Guide to Tie Tying for 2021 \[11 Best Tips and Tricks\]” Tip #34. SEO is Not Just About Written Content Written content is not always best. Sometimes, videos can perform significantly better. E.g. If the Googler is looking to learn how to get a deadlift form right, they’re most likely going to be looking for a video. Tip #35. Don’t Forget to Follow Basic Optimization Tips For all your web pages (articles included), follow basic SEO optimization tips. E.g. include the keyword in the URL, use the right headings etc.  Just use RankMath or YoastSEO for this and you’re in the clear! Tip #36. Hire Specialized Writers When hiring content writers, try to look for ones that specialize in creating SEO content.  There are a LOT of writers on the internet, plenty of which are really good.  However, if they haven’t written SEO content before, chances are, they won’t do that good of a job. Tip #37. Use Content Outlines Speaking of writers - when working with writers, create a content outline that summarizes what the article should be about and what kind of topics it needs to cover instead of giving them a keyword and asking them to “knock themselves out.”   This makes it a lot more likely for the writer to create something that ranks. When creating content outlines, we recommend you include the following information: Target keyword Related keywords that should be mentioned in the article Article structure - which headings should the writer use? In what order? Article title Tip #38. Find Writers With Niche Knowledge Try to find a SEO content writer with some experience or past knowledge about your niche. Otherwise, they’re going to take around a month or two to become an expert. Alternatively, if you’re having difficulty finding a writer with niche knowledge, try to find someone with experience in technical or hard to explain topics. Writers who’ve written about cybersecurity in the past, for example, are a lot more likely to successfully cover other complicated topics (as opposed to, for example, a food or travel blogger). Tip #39. Keep Your Audience’s Knowledge in Mind When creating SEO content, always keep your audience’s knowledge in mind. If you’re writing about advanced finance, for example, you don’t need to teach your reader what an income statement is. If you’re writing about income statements, on the other hand, you’d want to start from the very barebone basics. Tip #40. Write for Your Audience If your readers are suit-and-tie lawyers, they’re going to expect professionally written content. 20-something hipsters? You can get away with throwing a Rick and Morty reference here and there. Tip #41. Use Grammarly Trust us, it’ll seriously make your life easier! Keep in mind, though, that the app is not a replacement for a professional editor. Tip #42. Use Hemingway Online content should be very easy to read & follow for everyone, whether they’re a senior profession with a Ph.D. or a college kid looking to learn a new topic. As such, your content should be written in a simple manner - and that’s where Hemingway comes in. It helps you keep your blog content simple. Tip #43. Create Compelling Headlines Want to drive clicks to your articles? You’ll need compelling headlines. Compare the two headlines below; which one would you click? 101 Productivity Tips \[To Get Things Done in 2021\] VS Productivity Tips Guide Exactly! To create clickable headlines, we recommend you include the following elements: Keyword Numbers Results Year (If Relevant) Tip #44. Nail Your Blog Content Formatting Format your blog posts well and avoid overly long walls of text. There’s a reason Backlinko content is so popular - it’s extremely easy to read and follow. Tip #45. Use Relevant Images In Your SEO Content Key here - relevant. Don’t just spray random stock photos of “office people smiling” around your posts; no one likes those.  Instead, add graphs, charts, screenshots, quote blocks, CSS boxes, and other engaging elements. Tip #46. Implement the Skyscraper Technique (The Right Way) Want to implement Backlinko’s skyscraper technique?  Keep this in mind before you do: not all content is meant to be promoted.  Pick a topic that fits the following criteria if you want the internet to care: It’s on an important topic. “Mega-Guide to SaaS Marketing” is good, “top 5 benefits of SaaS marketing” is not. You’re creating something significantly better than the original material. The internet is filled with mediocre content - strive to do better. Tip #47. Get The URL Slug Right for Seasonal Content If you want to rank on a seasonal keyword with one piece of content (e.g. you want to rank on “saas trends 2020, 2021, etc.”), don’t mention the year in the URL slug - keep it /saas-trends/ and just change the headline every year instead.  If you want to rank with separate articles, on the other hand (e.g. you publish a new trends report every year), include the year in the URL. Tip #48. Avoid content cannibalization.  Meaning, don’t write 2+ articles on one topic. This will confuse Google on which article it should rank. Tip #49. Don’t Overdo Outbound Links Don’t include too many outbound links in your content. Yes, including sources is good, but there is such a thing as overdoing it.  If your 1,000 word article has 20 outbound links, Google might consider it as spam (even if all those links are relevant). Tip #50. Consider “People Also Ask” To get the most out of SERP, you want to grab as many spots on the search result as possible, and this includes “people also ask (PAA):” Make a list of the topic’s PAA questions and ensure that your article answers them.  If you can’t fit the questions & answers within the article, though, you can also add an FAQ section at the end where you directly pose these questions and provide the answers. Tip #51. Optimize For Google Snippet Optimize your content for the Google Snippet. Check what’s currently ranking as the snippet. Then, try to do something similar (or even better) in terms of content and formatting. Tip #52. Get Inspired by Viral Content Want to create content that gets insane shares & links?  Reverse-engineer what has worked in the past. Look up content in your niche that went viral on Reddit, Hacker News, Facebook groups, Buzzsumo, etc. and create something similar, but significantly better. Tip #53. Avoid AI Content Tools No, robots can’t write SEO content.  If you’ve seen any of those “AI generated content tools,” you should know to stay away. The only thing those tools are (currently) good for is creating news content. Tip #54. Avoid Bad Content You will never, ever, ever rank with one 500-word article per week.  There are some SEO agencies (even the more reputable ones) that offer this as part of their service. Trust us, this is a waste of time. Tip #55. Update Your Content Regularly Check your top-performing articles annually and see if there’s anything you can do to improve them.  When most companies finally get the #1 ranking for a keyword, they leave the article alone and never touch it again… ...Until they get outranked, of course, by someone who one-upped their original article. Want to prevent this from happening? Analyze your top-performing content once a year and improve it when possible. Tip #56. Experiment With CTR Do your articles have low CTR? Experiment with different headlines and see if you can improve it.  Keep in mind, though, that what a “good CTR” is really depends on the keyword.  In some cases, the first ranking will drive 50% of the traffic. In others, it’s going to be less than 15%. Link-Building Tips Tip #57. Yes, Links Matter. Here’s What You Need to Know “Do I need backlinks to rank?” is probably one of the most common SEO questions.  The answer to the question (alongside all other SEO-related questions) is that it depends on the niche.  If your competitors don’t have a lot of backlinks, chances are, you can rank solely by creating superior content. If you’re in an extremely competitive niche (e.g. VPN, insurance, etc.), though, everyone has amazing, quality content - that’s just the baseline.  What sets top-ranking content apart from the rest is backlinks. Tip #58. Sometimes, You’ll Have to Pay For Links Unfortunately, in some niches, paying for links is unavoidable - e.g. gambling, CBD, and others. In such cases, you either need a hefty link-building budget, or a very creative link-building campaign (create a viral infographic, news-worthy story based on interesting data, etc.). Tip #59. Build Relationships, Not Links The very best link-building is actually relationship building.  Make a list of websites in your niche and build a relationship with them - don’t just spam them with the standard “hey, I have this amazing article, can you link to it?”.  If you spam, you risk ruining your reputation (and this is going to make further outreach much harder). Tip #60. Stick With The Classics At the end of the day, the most effective link-building tactics are the most straightforward ones:  Direct Outreach Broken Link-Building Guest Posting Skyscraper Technique Creating Viral Content Guestposting With Infographics Tip #61. Give, Don’t Just Take! If you’re doing link-building outreach, don’t just ask for links - give something in return.  This will significantly improve the reply rate from your outreach email. If you own a SaaS tool, for example, you can offer the bloggers you’re reaching out to free access to your software. Or, alternatively, if you’re doing a lot of guest posting, you can offer the website owner a link from the guest post in exchange for the link to your website. Tip #62. Avoid Link Resellers That guy DMing you on LinkedIn, trying to sell you links from a Google Sheet?  Don’t fall for it - most of those links are PBNs and are likely to backfire on you. Tip #63. Avoid Fiverr Like The Plague Speaking of spammy links, don’t touch anything that’s sold on Fiverr - pretty much all of the links there are useless. Tip #64. Focus on Quality Links Not all links are created equal. A link is of higher quality if it’s linked from a page that: Is NOT a PBN. Doesn’t have a lot of outbound links. If the page links to 20 other websites, each of them gets less link juice. Has a lot of (quality) backlinks. Is part of a website with a high domain authority. Is about a topic relevant to the page it’s linking to. If your article about pets has a link from an accounting blog, Google will consider it a bit suspicious. Tip #65. Data-Backed Content Just Works Data-backed content can get insane results for link-building.  For example, OKCupid used to publish interesting data & research based on how people interacted with their platform and it never failed to go viral. Each of their reports ended up being covered by dozens of news media (which got them a ton of easy links). Tip #66. Be Creative - SEO Is Marketing, After All Be novel & creative with your link-building initiatives.  Here’s the thing: the very best link-builders are not going to write about the tactics they’re using.  If they did, you’d see half the internet using the exact same tactic as them in less than a week! Which, as you can guess, would make the tactic cliche and significantly less effective. In order to get superior results with your link-building, you’ll need to be creative - think about how you can make your outreach different from what everyone does. Experiment it, measure it, and improve it till it works! Tip #67. Try HARO HARO, or Help a Reporter Out, is a platform that matches journalists with sources. You get an email every day with journalists looking for experts in specific niches, and if you pitch them right, they might feature you in their article or link to your website. Tip #68. No-Follow Links Aren’t That Bad Contrary to what you might’ve heard, no-follow links are not useless. Google uses no-follow as more of a suggestion than anything else.  There have been case studies that prove Google can disregard the no-follow tag and still reward you with increased rankings. Tip #69. Start Fresh With an Expired Domain Starting a new website? It might make sense to buy an expired one with existing backlinks (that’s in a similar niche as yours). The right domain can give you a serious boost to how fast you can rank. Tip #70. Don’t Overspend on Useless Links “Rel=sponsored” links don’t pass pagerank and hence, won’t help increase your website rankings.  So, avoid buying links from media websites like Forbes, Entrepreneur, etc. Tip #71. Promote Your Content Other than link-building, focus on organic content promotion. For example, you can repost your content on Facebook groups, LinkedIn, Reddit, etc. and focus on driving traffic.  This will actually lead to you getting links, too. We got around 95 backlinks to our SEO case study article just because of our successful content promotion. Tons of people saw the article on the net, liked it, and linked to it from their website. Tip #72. Do Expert Roundups Want to build relationships with influencers in your niche, but don’t know where to start?  Create an expert roundup article. If you’re in the sales niche, for example, you can write about Top 21 Sales Influencers in 2021 and reach out to the said influencers letting them know that they got featured. Trust us, they’ll love you for this! Tip #73. .Edu Links are Overhyped .edu links are overrated. According to John Mueller, .edu domains tend to have a ton of outbound links, and as such, Google ignores a big chunk of them. Tip #74. Build Relationships With Your Customers Little-known link-building hack: if you’re a SaaS company doing SEO, you can build relationships with your customers (the ones that are in the same topical niche as you are) and help each other build links! Tip #75. Reciprocal Links Aren’t That Bad Reciprocal links are not nearly as bad as Google makes them out to be. Sure, they can be bad at scale (if trading links is all you’re doing). Exchanging a link or two with another website / blog, though, is completely harmless in 99% of cases. Tip #76. Don’t Overspam Don’t do outreach for every single post you publish - just the big ones.  Most people already don’t care about your outreach email. Chances are, they’re going to care even less if you’re asking them to link to this new amazing article you wrote (which is about the top 5 benefits of adopting a puppy). Technical SEO Tips Tip #77. Use PageSpeed Insights If your website is extremely slow, it’s definitely going to impact your rankings. Use PageSpeed Insights to see how your website is currently performing. Tip #78. Load Speed Matters While load speed doesn’t impact rankings directly, it DOES impact your user experience. Chances are, if your page takes 5 seconds to load, but your competition’s loads instantly, the average Googler will drop off and pick them over you. Tip #79. Stick to a Low Crawl Depth Crawl depth of any page on your website should be lower than 4 (meaning, any given page should be possible to reach in no more than 3 clicks from the homepage).  Tip #80. Use Next-Gen Image Formats Next-gen image formats such as JPEG 2000, JPEG XR, and WebP can be compressed a lot better than PNG or JPG. So, when possible, use next-get formats for images on your website. Tip #81. De-Index Irrelevant Pages Hide the pages you don’t want Google to index (e.g: non-public, or unimportant pages) via your Robots.txt. If you’re a SaaS, for example, this would include most of your in-app pages or your internal knowledge base pages. Tip #82. Make Your Website Mobile-Friendly Make sure that your website is mobile-friendly. Google uses “mobile-first indexing.” Meaning, unless you have a working mobile version of your website, your rankings will seriously suffer. Tip #83. Lazy-Load Images Lazy-load your images. If your pages contain a lot of images, you MUST activate lazy-loading. This allows images that are below the screen, to be loaded only once the visitor scrolls down enough to see the image. Tip #84. Enable Gzip Compression Enable Gzip compression to allow your HTML, CSS and JS files to load faster. Tip #85. Clean Up Your Code If your website loads slowly because you have 100+ external javascript files and stylesheets being requested from the server, you can try minifying, aggregating, and inlining some of those files. Tip 86. Use Rel-Canonical Have duplicate content on your website? Use rel-canonical to show Google which version is the original (and should be prioritized for search results). Tip #87. Install an SSL Certificate Not only does an SSL certificate help keep your website safe, but it’s also a direct ranking factor. Google prioritizes websites that have SSL certificates over the ones that don’t. Tip #88. Use Correct Anchor Texts for Internal Links When linking to an internal page, mention the keyword you’re trying to rank for on that page in the anchor text. This helps Google understand that the page is, indeed, about the keyword you’re associating it with. Tip #89. Use GSC to Make Sure Your Content is Interlinked Internal links can have a serious impact on your rankings. So, make sure that all your blog posts (especially the new ones) are properly linked to/from your past content.  You can check how many links any given page has via Google Search Console. Tip #90. Bounce rate is NOT a Google ranking factor. Meaning, you can still rank high-up even with a high bounce rate. Tip #91. Don’t Fret About a High Bounce Rate Speaking of the bounce rate, you’ll see that some of your web pages have a higher-than-average bounce rate (70%+).  While this can sometimes be a cause for alarm, it’s not necessarily so. Sometimes, the search intent behind a given keyword means that you WILL have a high bounce rate even if your article is the most amazing thing ever.  E.g. if it’s a recipe page, the reader gets the recipe and bounces off (since they don’t need anything else). Tip #92. Google Will Ignore Your Meta Description More often than not, Google won’t use the meta description you provide - that’s normal. It will, instead, automatically pick a part of the text that it thinks is most relevant and use it as a meta description. Despite this, you should always add a meta description to all pages. Tip #93. Disavow Spammy & PBN Links Keep track of your backlinks and disavow anything that’s obviously spammy or PBNy. In most cases, Google will ignore these links anyway. However, you never know when a competitor is deliberately targeting you with too many spammy or PBN links (which might put you at risk for being penalized). Tip #94. Use The Correct Redirect  When permanently migrating your pages, use 301 redirect to pass on the link juice from the old page to the new one. If the redirect is temporary, use a 302 redirect instead. Tip #95. When A/B Testing, Do This A/B testing two pages? Use rel-canonical to show Google which page is the original. Tip #96. Avoid Amp DON’T use Amp.  Unless you’re a media company, Amp will negatively impact your website. Tip #97. Get Your URL Slugs Right Keep your blog URLs short and to-the-point. Good Example: apollodigital.io/blog/seo-case-study Bad Example: apollodigital.io/blog/seo-case-study-2021-0-to-200,000/ Tip #98. Avoid Dates in URLs An outdated date in your URL can hurt your CTR. Readers are more likely to click / read articles published recently than the ones written years back. Tip #99. Social Signals Matter Social signals impact your Google rankings, just not in the way you think. No, your number of shares and likes does NOT impact your ranking at all.  However, if your article goes viral and people use Google to find your article, click it, and read it, then yes, it will impact your rankings.  E.g. you read our SaaS marketing guide on Facebook, then look up “SaaS marketing” on Google, click it, and read it from there. Tip #100. Audit Your Website Frequently Every other month, crawl your website with ScreamingFrog and see if you have any broken links, 404s, etc. Tip #101. Use WordPress Not sure which CMS platform to use?  99% of the time, you’re better off with WordPress.  It has a TON of plugins that will make your life easier.  Want a drag & drop builder? Use Elementor. Wix, SiteGround and similar drag & drops are bad for SEO. Tip #102. Check Rankings the Right Way When checking on how well a post is ranking on Google Search Console, make sure to check Page AND Query to get the accurate number.  If you check just the page, it’s going to give you the average ranking on all keywords the page is ranking for (which is almost always going to be useless data). Conclusion Aaand that's about it - thanks for the read! Now, let's circle back to Tip #1 for a sec. Remember when we said a big chunk of what you read on SEO is based on personal experiences, experiments, and the like? Well, the tips we've mentioned are part of OUR experience. Chances are, you've done something that might be different (or completely goes against) our advice in this article. If that's the case, we'd love it if you let us know down in the comments. If you mention something extra-spicy, we'll even include it in this article.

AI Will Make You Extremely Rich or Kill Your Business in 2024
reddit
LLM Vibe Score0
Human Vibe Score1
AntsyNursery58This week

AI Will Make You Extremely Rich or Kill Your Business in 2024

Preface: I'm a solo-founder in the AI space and previously worked as an ML scientist; the new advancements in AI that I'm seeing are going to impact everyone here. It doesn't matter if you're just starting out, or a bootstrapped brick and mortar founder, or even a VC backed hard tech founder. Last year was when the seeds were laid, and this is the year we'll see them bloom. There will be an onslaught of advancements that take place that are borderline inconceivable due to the nature of exponential progress. This will change every single vertical. I'm making this post because I think AI execution strategy will make or break businesses. Dramatically. Over $50B was put into AI startups in 2023 alone. This figure excludes the hundreds of billions poured into AI from enterprises. So, let's follow the money: ​ 1) AI enterprise software. There's a lot to unpack here and this is what I’m currently working on. AI enterprise software will encompass everything from hyper personalized email outbound to AI cold calls to AI that A/B tests ads on synthetic data to vertical specific software. The impact of the former is relatively self explanatory, so I'll focus on the latter. To illustrate vertical specific AI software, I'll use a simple example in the legal space. Lawyers typically have to comb through thousands of pages of documents. Now, using an LLM + a VDB, an AI can instantly answer all of those questions while surfacing the source and highlighting the specific answer in the contract/document. There are dozens of AI startups for this use case alone. This saves lawyers an immense amount of time and allows them to move faster. Firms that adopt this have a fundamental advantage over law firms that don't adopt this. This was 2023 technology. I'm seeing vertical AI software getting built by my friends in areas from construction, to real estate, to even niche areas like chimney manufacturing. This will exist everywhere. Now, this can be extrapolated much further to be applicable to systems that can do reports and even browse the Internet. This brings me to my next point. ​ 2) AI information aggregation and spread. My gut tells me that this will have a crescendo moment in the future with hardware advancements (Rabbit, Tab, etc.). You won't have to google things because it will be surfaced to you. It's predictive in nature. The people who can get information the fastest will grow their business the fastest. This part is semi-speculative, but due to the nature of LLMs being so expensive to train, I have a strong feeling that large institutions will have access to the \fastest\ and \best\ models that can do this quicker than you and I can. This is why it's important to stay on top. ​ 3) AI content generation This is relevant to running advertisements and any digital marketing aspect of your business. If you can rapidly make content faster than your competitors to put in social media, you will outpace your competitors rapidly. I think most folks are familiar with MidJourney, Stable diffusion, etc. but don't know how to use it. You can generate consistent models for a clothing brand or generate images of a product that you would normally need to hire a professional photographer to take. There's also elevenlabs which is relatively easy to use and can be used to make an MP3 clip as a narration for an ad; this is something I've already done. I'm also still shocked by how many people are unfamiliar with tools like Pika which can do video generation. You could imagine companies having fleets of digital influencers that they control or conjuring up the perfect ad for a specific demographic using a combination of all of the aforementioned tools. ​ In summary, if you feel like I'm being hyperbolic or propagating science fiction fantasies, you're likely already behind. I truly recommend that everyone stays up to date on these advancements as much as possible. If your competitor comes across an AI tool that can increase their ROAS by 5x they can crush you. If your competitor uses a tool that increases the rate at which they receive and aggregate information by 200% (modest estimate) they will crush you. If your competitors have a tool that can reduce their employee size, then they will use it. They'll fire their employees to cut costs and reinvest the money back into their business. It will compound to the point where you're outpaced, and this isn't a level of innovation we've seen since the birth of the industrial revolution. Your customers can get stolen overnight, or you can steal your competition’s customers overnight. TL;DR: This is an opportunity for entrepreneurs to scale faster than they could have possibly imagined, but this also comes with the potential for your company to be obliterated. We've never seen advancements that can have this drastic of an impact this quickly. Adoption will happen fast, and first movers will have a disproportionate and compounding advantage. Watch guides, meet with startups, follow the news, and get rich.

boring passive site... now 42k monthly visitors and $2540 MRR
reddit
LLM Vibe Score0
Human Vibe Score1
TasAdamsThis week

boring passive site... now 42k monthly visitors and $2540 MRR

people underestimate SEO... It is evergreen... passive... digital real estate. it can do magic... if you are consistent. Especially now with AI you can 2X your traffic growth and automate 85% of the work. For the past 6 months... we've been building an online directory. we just reached $2540 MRR... with SEO only... from a complete zero. I did share this on other subreddits. Maybe this gives ideas to someone. \+ This can be easily replicated if you have a website lol Current metrics: $2540 MRR - businesses pay us to list on the directory + display ads + pay to be featured. 43k monthly visitors - in the past couple of weeks our SEO growth is a hockey stick. DR (Domain Rating) 35 - it took us 2.5 months to get to that. 51 okay-ish quality referring domains (90% of them are do-follow) and 1.6k backlinks. There are probably 3 main pillars I try to focus on: keywords --> which then is the basis for ALL the content pieces we do blogs, landing pages, about us pages, competitor comparisons etc --> we use a DIY excel file to automate content production at scale. backlinks --> boost DR --> one of the main things to boost ranking on google. website health --> this is technical stuff like internal and external linking, schemas, canonical tags, alt texts, load speeds, compressed images, meta descriptions, titles etc --> do this once... and do it GOOD. $0.07 per SEO optimised blog at scale with AI Yep... we've literally built our own SEO blog tool... and it is a Spreadsheet with bunch of app scripts :D NOTE that we add a little bit of human touch to those blogs that are picked up by Google rank top in 25 How it works... is that we paste in bunch of links (other websites, blogs, news articles) and with a click of a button we can get up to 2000 SEO optimised content pieces... from an Excel file... $0.07 per blog. The spreadsheet is integrated with Chat gpt (obviously). We use GPT-4 for meta descriptions, titles, transforming the content from text to html code since it is more powerful, and GPT-4o for content itself because it is cheaper and faster for "general text". The spreadsheet repurposes content. The spreadsheet generates: Meta descriptions and titles FAQs sections - DON'T skip FAQ sections! They are a must for SEO. On Ahrefs... there is a section of questions people are searching about your keyword... that's your FAQs It can find contextual youtube videos (links to those videos) - to show google that our content is not "just text" thus higher quality. Screenshots and images of the original source (the website link we inputed) I then download a csv version of the excel and import it into our Webflow. The csv file column names match our webflow CMS field names. tbh... we didn't even know that it can be done with a spreadsheet. We "tried" building it because every other tool we were using is (1) expensive from $0.59 per SEO content piece (2) they didn't provide the scale we wanted (3) we wanted more control over the output. Focus on DR 35+ backlinks... easier We bought backlinks only once... rest of the backlinks was a manual work from us. Bunch of free listing databases (about 65% of our backlinks) You can comment on open forums with your link to get a backlink (be careful tho) Post a blog on Medium com --> DR 94 backlink (takes time to Index) If you pay for Notion you can get a DR 94 backlink from Notion If you use Beehiiv you can get a DR 86 backlink from Beehiiv Google product stacking (Google sites, Google notes etc) --> backlink from almighty Google itself A lot of work goes into backlinks because they are THAT important. I have tried bunch of "black hat" strategies as well... but note that all of these strategies won't work if you don't index the primary source from where your backlink is coming from. BIG search volume and low KD Key things I'm looking for in keywords: I use Ahrefs Keyword research tool... it is literally free BIG search volume - 2k+ is oaky-ish for a single keyword EASY to rank - KD (keyword difficulty) below 15 Look for long tail keywords (these are golden nuggets since they have a VERY clear search intent) - "how to edit..." "how to change..." "how to delete..." "how to paint..." I hope you got the idea. on Ahrefs you can use "\" to get BIG volume long tail keywords... like this "my keyword\". Ahrefs then populates the "\" with the tail. Check SERP (Search Engine Result Page) for your keywords - it shows current top 10 pages for those KWs. Check their content. Can you improve it? Have they missed anything? Keyword gap from your competitors - shows EASY keywords that your competitors have missed and also shows what keywords overlap with you. Also one cool thing... if you don't type any keywords on Ahrefs and press "Enter"... you can browse all the keywords out there... it is magical. Once we have the keywords, we run our spreadsheet. And that's pretty much it. I hope that you can get some ideas from this little silly project. Also... if you have any questions about this... I might share the SEO blog automation excel file/help if people are interested...

boring passive site... now 42k monthly visitors and $2540 MRR
reddit
LLM Vibe Score0
Human Vibe Score1
TasAdamsThis week

boring passive site... now 42k monthly visitors and $2540 MRR

people underestimate SEO... It is evergreen... passive... digital real estate. it can do magic... if you are consistent. Especially now with AI you can 2X your traffic growth and automate 85% of the work. For the past 6 months... we've been building an online directory. we just reached $2540 MRR... with SEO only... from a complete zero. I did share this on other subreddits. Maybe this gives ideas to someone. \+ This can be easily replicated if you have a website lol Current metrics: $2540 MRR - businesses pay us to list on the directory + display ads + pay to be featured. 43k monthly visitors - in the past couple of weeks our SEO growth is a hockey stick. DR (Domain Rating) 35 - it took us 2.5 months to get to that. 51 okay-ish quality referring domains (90% of them are do-follow) and 1.6k backlinks. There are probably 3 main pillars I try to focus on: keywords --> which then is the basis for ALL the content pieces we do blogs, landing pages, about us pages, competitor comparisons etc --> we use a DIY excel file to automate content production at scale. backlinks --> boost DR --> one of the main things to boost ranking on google. website health --> this is technical stuff like internal and external linking, schemas, canonical tags, alt texts, load speeds, compressed images, meta descriptions, titles etc --> do this once... and do it GOOD. $0.07 per SEO optimised blog at scale with AI Yep... we've literally built our own SEO blog tool... and it is a Spreadsheet with bunch of app scripts :D NOTE that we add a little bit of human touch to those blogs that are picked up by Google rank top in 25 How it works... is that we paste in bunch of links (other websites, blogs, news articles) and with a click of a button we can get up to 2000 SEO optimised content pieces... from an Excel file... $0.07 per blog. The spreadsheet is integrated with Chat gpt (obviously). We use GPT-4 for meta descriptions, titles, transforming the content from text to html code since it is more powerful, and GPT-4o for content itself because it is cheaper and faster for "general text". The spreadsheet repurposes content. The spreadsheet generates: Meta descriptions and titles FAQs sections - DON'T skip FAQ sections! They are a must for SEO. On Ahrefs... there is a section of questions people are searching about your keyword... that's your FAQs It can find contextual youtube videos (links to those videos) - to show google that our content is not "just text" thus higher quality. Screenshots and images of the original source (the website link we inputed) I then download a csv version of the excel and import it into our Webflow. The csv file column names match our webflow CMS field names. tbh... we didn't even know that it can be done with a spreadsheet. We "tried" building it because every other tool we were using is (1) expensive from $0.59 per SEO content piece (2) they didn't provide the scale we wanted (3) we wanted more control over the output. Focus on DR 35+ backlinks... easier We bought backlinks only once... rest of the backlinks was a manual work from us. Bunch of free listing databases (about 65% of our backlinks) You can comment on open forums with your link to get a backlink (be careful tho) Post a blog on Medium com --> DR 94 backlink (takes time to Index) If you pay for Notion you can get a DR 94 backlink from Notion If you use Beehiiv you can get a DR 86 backlink from Beehiiv Google product stacking (Google sites, Google notes etc) --> backlink from almighty Google itself A lot of work goes into backlinks because they are THAT important. I have tried bunch of "black hat" strategies as well... but note that all of these strategies won't work if you don't index the primary source from where your backlink is coming from. BIG search volume and low KD Key things I'm looking for in keywords: I use Ahrefs Keyword research tool... it is literally free BIG search volume - 2k+ is oaky-ish for a single keyword EASY to rank - KD (keyword difficulty) below 15 Look for long tail keywords (these are golden nuggets since they have a VERY clear search intent) - "how to edit..." "how to change..." "how to delete..." "how to paint..." I hope you got the idea. on Ahrefs you can use "\" to get BIG volume long tail keywords... like this "my keyword\". Ahrefs then populates the "\" with the tail. Check SERP (Search Engine Result Page) for your keywords - it shows current top 10 pages for those KWs. Check their content. Can you improve it? Have they missed anything? Keyword gap from your competitors - shows EASY keywords that your competitors have missed and also shows what keywords overlap with you. Also one cool thing... if you don't type any keywords on Ahrefs and press "Enter"... you can browse all the keywords out there... it is magical. Once we have the keywords, we run our spreadsheet. And that's pretty much it. I hope that you can get some ideas from this little silly project. Also... if you have any questions about this... I might share the SEO blog automation excel file/help if people are interested...

🛒7 Strategies to Increase Retail Store Footfall post-COVID | Ultimate Blueprint & Guide 📈
reddit
LLM Vibe Score0
Human Vibe Score1
bnk3r_This week

🛒7 Strategies to Increase Retail Store Footfall post-COVID | Ultimate Blueprint & Guide 📈

Hello fellow marketers/entrepreneurs! Covid has had a gobsmacking effect on all retail promotions and marketing efforts. For people with retail businesses that thrive on footfall, it has been an uphill battle, but markets of the world are slowly resuming action. Knowing the footfall to your retail store can help you decide how many products you need to stock, which days of the week are best for promotions, and what type of promotional offers work well. The pandemic has drastically impacted customer behavior and customer loyalty is plunging. People prefer shopping online to brick-and-mortar purchases, and consumers are limiting their spending on a range of items - investing only in essentials is the norm now (McKinsey). We found some companies like Target having programs like Cartwheel that offer 5% to 50% off specific items when customers shop in-store to increase foot traffic. Strategies like these ultimately add up, an ICSC report cites that 69% of customers who went to collect their orders eventually bought additional items. I've put together a detailed list of 7 strategies to boost footfall to stores post COVID, I hope they come in handy! Abide by COVID-19 Protocols for a Safer Environment Be well-informed of the COVID-19 protocols. Don't implement this merely under the government norms, instead take extra measures to show customers that you care! Have an automated entrance Deploy hygiene counters Fix thermal sensors in the entrance Have an isolation space for those showing symptoms of the coronavirus To see more check this link for the entire list! Run Catchy In-Store Promotions Discounts are a perfect way to attract new customers and retain existing ones. When you want to increase customer traffic in a brick-and-mortar store, give customers an offer that only works inside the store. Surprise your consumers with free samples of your products. This would allow them to try some new brands and products. If you’d want to reduce your excess stock post the quarantine time, try running a multi-buy campaign. Digital Signages - Enhance In-store Shopping Experience Digital signage is a type of advertising that uses a video screen to display marketing messages. They can be used for attracting customers, conveying information, and promoting merchandise. Retail outlets in malls that have fashion sections can display the latest trends on their screens so customers know what’s new. This helps them pick out something they might like quickly. Some restaurants showcase menus on screens while others even project live cooking shows! These displays help with menu navigation too; helping a diner decide between chicken tikka masala or steak tartare by showing pictures of both dishes at once. Leverage Beacon Notification to Attract Customers to Your Store The beacon technology is a way to implement a tracking system indoors. A beacon is an inaudible signal that can be tracked and act as the trigger for other events like sending notifications about deals, discounts, or new products. Beacon technology helps with driving footfalls by giving customers an indoor mapping experience of your store's inventory. This ensures they always know where they are going and what’s around them. The navigation reminds them of their proximity to items on display so there’s never any confusion over whether something is nearby or farther off. Train your Salespeople to Become the Shopper's Friend Educating your salespersons on how to be consumers’ friends is important. They should be knowledgeable about what products are popular and in-demand so that they can help the customers find exactly what they want while at the same time giving guidance on how to save money by telling them where discounts and deals can be found. Reconceptualize Checkout Counters Customers abandon their purchases because of long lines at the checkout. With the pandemic out there, this could be one of the reasons why the retail foot traffic is diminishing. Include contactless payments that can be automated or replace your existing POS setup. Encourage BOPIS (Buy Online Pick-up In-store) To implement BOPIS for your retail store, you need to have a centralized platform that allows you to manage orders, sales, and customers. This helps you to deliver a personalized customer experience. In combination with BOPIS, another way to promote footfall into the store and drive sales in retail is by bringing your website in-store. And this will be a good move if you have multiple stores and not all the stock in one place. This is because, when you know how to calculate footfall in retail it can help you with many retail metrics like: How to plan your store for peak footfall times? How much stock you need in the store and how often you'll need to restock it? What products are selling well on an hourly basis? This is so crucial information for retailers that will help inform decisions about where to place certain items or which ones may be more popular than others etc. When stores should have promotions (if they want), discounts, and raise weekend sales? We've put together an elaborate, research-based White Paper that covers these segments: How have pandemics catalyzed technological innovations Customer sentiment and behavior during COVID-19 An omnichannel customer engagement strategy to drive sales in retail and footfall The ultimate roadmap to increase retail footfalls How to build the perfect loyalty program to turn foot traffic into brand ambassadors? You can find the same over here, hope my team's effort comes in handy to some of y'all that could improve your store visits, cheers!

SUPIR
github
LLM Vibe Score0.599
Human Vibe Score0.8316614420062696
Fanghua-YuMar 28, 2025

SUPIR

(CVPR2024) Scaling Up to Excellence: Practicing Model Scaling for Photo-Realistic Image Restoration In the Wild [Paper]   [Project Page]   [[Online App]](https://supir.suppixel.ai/home) Fanghua, Yu, Jinjin Gu, Zheyuan Li, Jinfan Hu, Xiangtao Kong, Xintao Wang, Jingwen He, Yu Qiao, Chao Dong Shenzhen Institute of Advanced Technology; Shanghai AI Laboratory; University of Sydney; The Hong Kong Polytechnic University; ARC Lab, Tencent PCG; The Chinese University of Hong Kong 🚀 We're thrilled to announce the official launch of SupPixel AI! Experience the next level of image processing and upscaling with our cutting-edge AI technology based on SUPIR. Explore now at suppixel.ai. 🔧 Dependencies and Installation Clone repo Install dependent packages Download Checkpoints For users who can connect to huggingface, please setting LLAVACLIPPATH, SDXLCLIP1PATH, SDXLCLIP2CKPTPTH in CKPTPTH.py as None. These CLIPs will be downloaded automatically. Dependent Models SDXL CLIP Encoder-1 SDXL CLIP Encoder-2 SDXL base 1.00.9vae LLaVA CLIP LLaVA v1.5 13B (optional) Juggernaut-XLv9RunDiffusionPhotov2 Replacement of SDXL base 1.0_0.9vae for Photo Realistic (optional) JuggernautRunDiffusionPhoto2Lightning4Steps Distilling model used in SUPIRv0Juggernautv9_lightning.yaml Models we provided: SUPIR-v0Q: Baidu Netdisk, Google Drive Default training settings with paper. High generalization and high image quality in most cases. SUPIR-v0F: Baidu Netdisk, Google Drive Training with light degradation settings. Stage1 encoder of SUPIR-v0F remains more details when facing light degradations. Edit Custom Path for Checkpoints ⚡ Quick Inference Val Dataset RealPhoto60: Baidu Netdisk, Google Drive Usage of SUPIR Python Script Gradio Demo Online App We've just launched SupPixel AI, an easy-to-use tool designed to help with high-quality image processing and upscaling. It builds on SUPIR. Whether you’re into photography, digital art, or just love playing around with image enhancement, we’d love for you to check it out.~ BibTeX @misc{yu2024scaling, title={Scaling Up to Excellence: Practicing Model Scaling for Photo-Realistic Image Restoration In the Wild}, author={Fanghua Yu and Jinjin Gu and Zheyuan Li and Jinfan Hu and Xiangtao Kong and Xintao Wang and Jingwen He and Yu Qiao and Chao Dong}, year={2024}, eprint={2401.13627}, archivePrefix={arXiv}, primaryClass={cs.CV} } 📧 Contact If you have any question, please email fanghuayu96@gmail.com or jinjin.gu@suppixel.ai. Non-Commercial Use Only Declaration The SUPIR ("Software") is made available for use, reproduction, and distribution strictly for non-commercial purposes. For the purposes of this declaration, "non-commercial" is defined as not primarily intended for or directed towards commercial advantage or monetary compensation. By using, reproducing, or distributing the Software, you agree to abide by this restriction and not to use the Software for any commercial purposes without obtaining prior written permission from Dr. Jinjin Gu. This declaration does not in any way limit the rights under any open source license that may apply to the Software; it solely adds a condition that the Software shall not be used for commercial purposes. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For inquiries or to obtain permission for commercial use, please contact Dr. Jinjin Gu (jinjin.gu@suppixel.ai).

eiten
github
LLM Vibe Score0.549
Human Vibe Score0.754375921646308
tradyticsMar 27, 2025

eiten

Eiten - Algorithmic Investing Strategies for Everyone Eiten is an open source toolkit by Tradytics that implements various statistical and algorithmic investing strategies such as Eigen Portfolios, Minimum Variance Portfolios, Maximum Sharpe Ratio Portfolios, and Genetic Algorithms based Portfolios. It allows you to build your own portfolios with your own set of stocks that can beat the market. The rigorous testing framework included in Eiten enables you to have confidence in your portfolios. If you are looking to discuss these tools in depth and talk about more tools that we are working on, please feel free to join our Discord channel where we have a bunch of more tools too. Files Description | Path | Description | :--- | :---------- | eiten | Main folder. | └ figures | Figures for this github repositories. | └ stocks | Folder to keep your stock lists that you want to use to create your portfolios. | └ strategies | A bunch of strategies implemented in python. | backtester.py | Backtesting module that both backtests and forward tests all portfolios. | data_loader.py | Module for loading data from yahoo finance. | portfolio_manager.py | Main file that takes in a bunch of arguments and generates several portfolios for you. | simulator.py | Simulator that uses historical returns and monte carlo to simulate future prices for the portfolios. | strategy_manager.py | Manages the strategies implemented in the 'strategies' folder. Required Packages You will need to install the following package to train and test the models. Scikit-learn Numpy Tqdm Yfinance Pandas Scipy You can install all packages using the following command. Please note that the script was written using python3. Build your portfolios Let us see how we can use all the strategies given in the toolkit to build our portfolios. The first thing you need to do is modify the stocks.txt file in the stocks folder and add the stocks of your choice. It is recommended to keep the list small i.e anywhere between 5 to 50 stocks should be fine. We have already put a small stocks list containing a bunch of tech stocks like AAPL, MSFT, TSLA etc. Let us build our portfolios now. This is the main command that you need to run. This command will use last 5 years of daily data excluding the last 90 days and build several portfolios for you. Based on those portfolios, it will then test them on the out of sample data of 90 days and show you the performance of each portfolio. Finally, it will also compare the performance with your choice of market index which is QQQ here. Let's dive into each of the parameters in detail. istest: The value determined if the program is going to keep some separate data for future testing. When this is enabled, the value of futurebars should be larger than 5. future_bars: These are the bars that the tool will exclude during portfolio building and will forward test the portfolios on the excluded set. This is also called out of sample data. datagranularityminutes: How much granular data do you want to use to build your portfolios. For long term portfolios, you should use daily data but for short term, you can use hourly or minute level data. The possible values here are 3600, 60, 30, 15, 5, 1. 3600 means daily. historytouse: Whether to use a specific number of historical bars or use everything that we receive from yahoo finance. For minute level data, we only receive up to one month of historical data. For daily, we receive 5 years worth of historical data. If you want to use all available data, the value should be all but if you want to use smaller history, you can set it to an integer value e.g 100 which will only use the last 100 bars to build the portfolios. applynoisefiltering: This uses random matrix theory to filter out the covariance matrix from randomness thus yielding better portfolios. A value of 1 will enable it and 0 will disable it. market_index: Which index do you want to use to compare your portfolios. This should mostly be SPY but since we analyzed tech stocks, we used QQQ. only_long: Whether to use long only portfolio or enable short selling as well. Long only portfolios have shown to have better performance using algorithmic techniques. eigenportfolionumber: Which eigen portfolio to use. Any value between 1-5 should work. The first eigen portfolio (1) represents the market portfolio and should act just like the underlying index such as SPY or QQQ. The second one is orthogonal and uncorrelated to the market and poses the greatest risk and reward. The following ones have reduced risk and reward. Read more on eigen-portfolios. stocksfilepath: File that contains the list of stocks that you want to use to build your portfolio. Some Portfolio Building Examples Here are a few examples for building different types of portfolios. Both long and short portfolios by analyzing last 90 days data and keeping the last 30 days as testing data. This will give us 60 days of portfolio construction data and 30 days of testing. Only long portfolio on 60 minute bars of the last 30 days. No future testing. Compare the results with SPY index instead of QQQ. Do not apply noise filtering on the covariance matrix. Use the first eigen portfolio (market portfolio) and compare with SQQQ, Portfolio Strategies Four different portfolio strategies are currently supported by the toolkit. Eigen Portfolios These portfolios are orthogonal and uncorrelated to the market in general thus yielding high reward and alpha. However, since they are uncorrelated to the market, they can also provide great risk. The first eigen portfolio is considered to be a market portfolio which is often ignored. The second one is uncorrelated to the others and provides the highest risk and reward. As we go down the numbering, the risk as well as the reward are reduced. Minimum Variance Portfolio (MVP) MVP tries to minimize the variance of the portfolio. These portfolios are lowest risk and reward. Maximum Sharpe Ratio Portfolio (MSR) MSR solves an optimization problem that tries to maximize the sharpe ratio of the portfolio. It uses past returns during the optimization process which means if past returns are not the same as future returns, the results can vary in future. Genetic Algorithm (GA) based Portfolio This is our own implementation of a GA based portfolio that again tries to maximize the sharpe ratio but in a slightly more robust way. This usually provides more robust portfolios than the others. When you run the command above, our tool will generate portfolios from all these strategies and give them to you. Let us look at some resulting portfolios. Resulting Portfolios For the purpose these results, we will use the 9 stocks in the stocks/stocks.txt file. When we run the above command, we first get the portfolio weights for all four strategies. For testing purposes, the above command used last five years of daily data up till April 29th. The remaining data for this year was used for forward testing i.e the portfolio strategies had no access to it when building the portfolios. What if my portfolio needs different stocks?: All you need to do is change the stocks in the stocks.txt file and run the tool again. Here is the final command again that we run in order to get our portfolios: Portfolio Weights We can see that the eigen portfolio is giving a large weight to TSLA while the others are dividing their weights more uniformly. An interesting phenomena happening here is the hedging with SQQQ that all the strategies have learned automatically. Every tool is assigning some positive weight to SQQQ while also assigning positive weights to other stocks which indicates that the strategies are automatically trying to hedge the portfolios from risk. Obviously this is not perfect, but just the fact that it's happening is fascinating. Let us look at the backtest results on the last five years prior to April 29, 2020. Backtest Results The backtests look pretty encouraging. The black dotted line is the market index i.e QQQ. Other lines are the strategies. Our custom genetic algorithm implementation seems to have the best backtest results because it's an advanced version of other strategies. The eigen portfolio that weighed TSLA the most have the most volatility but its profits are also very high. Finally, as expected, the MVP has the minimum variance and ultimately the least profits. However, since the variance is extremely low, it is a good portfolio for those who want to stay safe. The most interesting part comes next, let us look at the forward or future test results for these portfolios. Forward Test Results These results are from April 29th, 2020 to September 4th, 2020. The eigen portfolio performed the best but it also had a lot of volatility. Moreover, most of those returns are due to TSLA rocketing in the last few months. After that, our GA algorithm worked quite effectively as it beat the market index. Again, as expected, the MVP had the lowest risk and reward and slowly went up in 4-5 months. This shows the effectiveness and power of these algorithmic portfolio optimization strategies where we've developed different portfolios for different kinds of risk and reward profiles. Conclusion and Discussion We are happy to share this toolkit with the trading community and hope that people will like and contribute to it. As is the case with everything in trading, these strategies are not perfect but they are based on rigorous theory and some great empirical results. Please take care when trading with these strategies and always manage your risk. The above results were not cherry picked but the market has been highly bullish in the last few months which has led to the strong results shown above. We would love for the community to try out different strategies and share them with us. Special Thanks Special thanks to Scott Rome's blog. The eigen portfolios and minimum variance portfolio concepts came from his blog posts. The code for filtering eigen values of the covariance matrix was also mostly obtained from one of his posts. License A product by Tradytics Copyright (c) 2020-present, Tradytics.com

OpenAI-CLIP
github
LLM Vibe Score0.507
Human Vibe Score0.015912940499642817
moein-shariatniaMar 27, 2025

OpenAI-CLIP

Update (December 2023) I am happy to find out that this code has been used and cited in the following papers: Domino: Discovering Systematic Errors with Cross-Modal Embeddings by Eyuboglu et. al. at ICLR 2022 GSCLIP : A Framework for Explaining Distribution Shifts in Natural Language by Zhu et. al. at ICML 2022 UIC-NLP at SemEval-2022 Task 5: Exploring Contrastive Learning for Multimodal Detection of Misogynistic Memes by Cuervo et. al. at SemEval-2022 cdsBERT - Extending Protein Language Models with Codon Awareness by Hallee et. al. from University of Delaware (Sep 2023) ENIGMA-51: Towards a Fine-Grained Understanding of Human-Object Interactions in Industrial Scenarios by Ragusa et. al. (Nov 2023) You can find the citation info on the right section of this GitHub repo page named: Cite this repository or use the below citation info. Introduction It was in January of 2021 that OpenAI announced two new models: DALL-E and CLIP, both multi-modality models connecting texts and images in some way. In this article we are going to implement CLIP model from scratch in PyTorch. OpenAI has open-sourced some of the code relating to CLIP model but I found it intimidating and it was far from something short and simple. I also came across a good tutorial inspired by CLIP model on Keras code examples and I translated some parts of it into PyTorch to build this tutorial totally with our beloved PyTorch! What does CLIP do? Why is it fun? In Learning Transferable Visual Models From Natural Language Supervision paper, OpenAI introduces their new model which is called CLIP, for Contrastive Language-Image Pre-training. In a nutshell, this model learns the relationship between a whole sentence and the image it describes; in a sense that when the model is trained, given an input sentence it will be able to retrieve the most related images corresponding to that sentence. The important thing here is that it is trained on full sentences instead of single classes like car, dog, etc. The intuition is that when trained on whole sentences, the model can learn a lot more things and finds some pattern between images and texts. They also show that when this model is trained on a huge dataset of images and their corresponding texts, it can also act as a classifier too. I encourage you to study the paper to learn more about this exciting model and their astonishing results on benchmarking datasets . To mention just one, CLIP model trained with this strategy classifies ImageNet better than those SOTA models trained on the ImageNet itself optimized for the only task of classification! As a teaser (!), let's see what the final model that we will build in this article from scratch is capable of: given a query (raw text) like "a boy jumping with skateboard" or "a girl jumping from swing", the model will retrieve the most relevant images: !title_img Let's see some more outputs: Config A note on config and CFG: I wrote the codes with python scripts and then converted it into a Jupyter Notebook. So, in case of python scripts, config is a normal python file where I put all the hyperparameters and in the case of Jupyter Notebook, its a class defined in the beginning of the notebook to keep all the hyperparameters. Utils Dataset As you can see in the tittle image of this article, we need to encode both images and their describing texts. So, the dataset needs to return both images and texts. Of course we are not going to feed raw text to our text encoder! We will use DistilBERT model (which is smaller than BERT but performs nearly as well as BERT) from HuggingFace library as our text encoder; so, we need to tokenize the sentences (captions) with DistilBERT tokenizer and then feed the token ids (input_ids) and the attention masks to DistilBERT. Therefore, the dataset needs to take care of the tokenization as well. Below you can see the dataset's code. Below that I'll explain the most important things that is happening in the code. In the \\init\\ we receive a tokenizer object which is actually a HuggingFace tokinzer; this tokenizer will be loaded when running the model. We are padding and truncating the captions to a specified maxlength. In the \\getitem\\ we will first load an encoded caption which is a dictionary with keys inputids and attention_mask, make tensors out of its values and after that we will load the corresponding image, transform and augment it (if there is any!) and then we make it a tensor and put it in the dictionary with "image" as the key. Finally we put the raw text of the caption with the key "caption" in the dictionary only for visualization purposes. I did not use additional data augmentations but you can add them if you want to improve the model's performance. Image Encoder The image encoder code is straight forward. I'm using PyTorch Image Models library (timm) here which makes a lot of different image models available from ResNets to EfficientNets and many more. Here we will use a ResNet50 as our image encoder. You can easily use torchvision library to use ResNets if you don't want to install a new library. The code encodes each image to a fixed size vector with the size of the model's output channels (in case of ResNet50 the vector size will be 2048). This is the output after the nn.AdaptiveAvgPool2d() layer. Text Encoder As I mentioned before, I'll use DistilBERT as the text encoder. Like its bigger brother BERT, two special tokens will be added to the actual input tokens: CLS and SEP which mark the start and end of a sentence. To grab the whole representation of a sentence (as the related BERT and DistilBERT papers point out) we use the final representations of the CLS token and we hope that this representation captures the overall meaning of the sentence (caption). Thinking it in this way, it is similar to what we did to images and converted them into a fixed size vector. In the case of DistilBERT (and also BERT) the output hidden representation for each token is a vector with size 768. So, the whole caption will be encoded in the CLS token representation whose size is 768. Projection Head I used Keras code example implementation of projection head to write the following in PyTorch. Now that we have encoded both our images and texts into fixed size vectors (2048 for image and 768 for text) we need to bring (project) them into a new world (!) with similar dimensions for both images and texts in order to be able to compare them and push apart the non-relevant image and texts and pull together those that match. So, the following code will bring the 2048 and 768 dimensional vectors into a 256 (projection_dim) dimensional world, where we can compare them. "embeddingdim" is the size of the input vector (2048 for images and 768 for texts) and "projectiondim" is the the size of the output vector which will be 256 for our case. For understanding the details of this part you can refer to the CLIP paper. CLIP This part is where all the fun happens! I'll also talk about the loss function here. I translated some of the code from Keras code examples into PyTorch for writing this part. Take a look at the code and then read the explanation below this code block. Here we will use the previous modules that we built to implement the main model. The \\init\\ function is self-explanatory. In the forward function, we first encode the images and texts separately into fixed size vectors (with different dimensionalities). After that, using separate projection modules we project them to that shared world (space) that I talked about previously. Here the encodings will become of similar shape (256 in our case). After that we will compute the loss. Again I recommend reading CLIP paper to get it better but I'll try my best to explain this part. In Linear Algebra, one common way to measure if two vectors are of similar characteristics (they are like each other) is to calculate their dot product (multiplying the matching entries and take the sum of them); if the final number is big, they are alike and if it is small they are not (relatively speaking)! Okay! What I just said is the most important thing to have in mind to understand this loss function. Let's continue. We talked about two vectors, but, what do we have here? We have imageembeddings, a matrix with shape (batchsize, 256) and textembeddings with shape (batchsize, 256). Easy enough! it means we have two groups of vectors instead of two single vectors. How do we measure how similar two groups of vectors (two matrices) are to each other? Again, with dot product (@ operator in PyTorch does the dot product or matrix multiplication in this case). To be able to multiply these two matrices together, we transpose the second one. Okay, we get a matrix with shape (batchsize, batchsize) which we will call logits. (temperature is equal to 1.0 in our case, so, it does not make a difference. You can play with it and see what difference it makes. Also look at the paper to see why it is here!). I hope you are still with me! If not it's okay, just review the code and check their shapes. Now that we have our logits, we need targets. I need to say that there is a more straight forward way to obtain targets but I had to do this for our case (I'll talk about why in a next paragraph). Let's consider what we hope that this model learns: we want it to learn "similar representations (vectors)" for a given image and the caption describing it. Meaning that either we give it an image or the text describing it, we want it to produce same 256 sized vectors for both. Check the cell below this code block for the continue of the explanations So, in the best case scenario, textembeddings and imageembedding matricies should be the same because they are describing similar things. Let's think now: if this happens, what would the logits matrix be like? Let's see with a simple example! So logits, in the best case, will be a matrix that if we take its softmax, will have 1.0s in the diagonal (An identity matrix to call it with fancy words!). As the loss function's job is to make model's predictions similar to targets (at least in most cases!), we want such a matrix as our target. That's the reason why we are calculating imagessimilarity and textssimilarity matrices in the code block above. Now that we've got our targets matrix, we will use simple cross entropy to calculate the actual loss. I've written the full matrix form of cross entropy as a function which you can see in the bottom of the code block. Okay! We are done! Wasn't it simple?! Alright, you can ignore the next paragraph but if you are curious, there is an important note in that. Here's why I didn't use a simpler approach: I need to admit that there's a simpler way to calculate this loss in PyTorch; by doing this: nn.CrossEntropyLoss()(logits, torch.arange(batch_size)). Why I did not use it here? For 2 reasons. 1- The dataset we are using has multiple captions for a single image; so, there is the possibility that two identical images with their similar captions exist in a batch (it is rare but it can happen). Taking the loss with this easier method will ignore this possibility and the model learns to pull apart two representations (assume them different) that are actually the same. Obviously, we don't want this to happen so I calculated the whole target matrix in a way that takes care of these edge cases. 2- Doing it the way I did, gave me a better understanding of what is happening in this loss function; so, I thought it would give you a better intuition as well! Train Here are some funtions to help us load train and valid dataloaders, our model and then train and evaluate our model on those. There's not much going on here; just simple training loop and utility functions Here's a handy function to train our model. There's not much happening here; just loading the batches, feeding them to the model and stepping the optimizer and lr_scheduler. Running the next cell start training the model. Put the kernel on GPU mode. Every epoch should take about 24 minutes on GPU (even one epoch is enough!). It can take one minute before training actually starts because we are going to encode all the captions once in the train and valid dataset, so please don't stop it! Every thing is working fine. Inference Okay! We are done with training the model. Now, we need to do inference which in our case will be giving the model a piece of text and want it to retrieve the most relevant images from an unseen validation (or test) set. Getting Image Embeddings In this function, we are loading the model that we saved after training, feeding it images in validation set and returning the imageembeddings with shape (validset_size, 256) and the model itself. Finding Matches This function does the final task that we wished our model would be capable of: it gets the model, image_embeddings, and a text query. It will display the most relevant images from the validation set! Isn't it amazing? Let's see how it performs after all! This is how we use this function. Aaaannnndddd the results: Final words I hope you have enjoyed this article. Implementing this paper was a really interesting experience for me. I want to thank Khalid Salama for the great Keras code example he provided which inspired me to write something similar in PyTorch.

machine-learning-blackjack-solution
github
LLM Vibe Score0.42
Human Vibe Score0.022610872675250356
GregSommervilleMar 27, 2025

machine-learning-blackjack-solution

machine-learning-blackjack-solution Introduction A genetic algorithm is a type of artificial intelligence programming that uses ideas from evolution to solve complex problems. It works by creating a population of (initially random) candidate solutions, then repeatedly selecting pairs of candidates and combining their solutions using a process similar to genetic crossover. Sometimes candidate solutions even go through mutation, just to introduce new possibilities into the population. After a large number of generations, the best solution found up to that point is often the optimal, best solution possible. Genetic algorithms are particularly well-suited for combinatorial problems, where there are huge numbers of potential solutions to a problem. The evolutionary process they go through is, in essence, a search through a huge solution space. A solution space so large that you simply could never use a brute force approach. This project is a demonstration of using a genetic algorithm to find an optimal strategy for playing the casino game Blackjack. Please see this article for a story about how this program was used, and what the results were. The article describes some of the available settings, and shows how different values for those settings affect the final result. The source code is for a Windows application written in Cthat allows you to play with different settings like population size, selection style and mutation rate. Each generation's best solution is displayed, so you can watch the program literally evolve a solution. !blackjack strategy tester screenshot The property grid located at the upper left of the screen is where you adjust settings. There's an informational area below that, and the right side of the screen is the display area for the three tables that represent a strategy for playing Blackjack. The tall table on the left is for hard hands, the table in the upper right is for soft hands, and the table in the lower right is for pairs. We'll talk more about how to interpret this strategy in a bit. The columns along the tops of the three tables are for the dealer upcard. When you play Blackjack the dealer has one of his two cards initially turned face up, and the rank of that card has a big impact on recommended strategy. Notice that the upcard ranks don't include Jack, Queen or King. That's because those cards all count 10, so we group them and the Ten together and simplify the tables. To use the tables, first, determine if you have a pair, soft hand, or hard hand. Then look in the appropriate table, with the correct dealer upcard column. The cell in the table will be "H" when the correct strategy is to hit, "S" when the correct strategy is to stand, "D" for double-down, and (in the pairs table only) "P" for split. A Word About This "Optimal" Strategy Before we go any further, it needs to be stated that this problem of finding an optimal Blackjack strategy has already been solved. Back in the 1960s, a mathematician named Edward O. Thorp authored a book called Beat the Dealer, which included charts showing the optimal "Basic" strategy. That strategy looks like this: !optimal blackjack strategy So we're solving a problem that has already been solved, but that's actually good. That means we can compare our results to the known best solution. For example, if our result strategy tells us to do anything but stand when holding a pair of Tens, Jacks, Queens or Kings, we know there's a problem. There's one other thing to get out of the way before we go any further, and that's the idea of nondeterministic code. That means that if we run the same code twice in a row, we're likely to get two different results. That's something that happens with genetic algorithms due to their inherent randomness. There's no guarantee you'll find the absolute optimal solution, but it is assured that you will find an optimal or near-optimal solution. It's something that isn't typical when writing code, so it takes some adjustment for most programmers. Genetic Algorithms Now let's talk about the details of a genetic algorithm. Fitness Scores First of all, we need a way to evaluate candidates so we can compare them to each other. That means a numeric fitness score, which in this case is quite simple: you simulate playing a certain number of hands using the strategy, and then count the number of chips you have at the end. The big question is, how many hands should we test with? The challenge of trying to test a strategy is that due to the innate randomness of Blackjack, you could use the same strategy ten times and get ten completely different results. Obviously, the more hands you play, the more the randomness gets smoothed out, and the quality of the underlying strategy starts to emerge. If you doubt this, just think about flipping a coin. If you only flip it five times, there's certainly a possibility that it'll come up heads all five times (in fact, that happens just over 3% of the time). However, if you flip it 500 times, there's no way it's going to end up all heads - the odds of it happening are 0.5500, which works out to be roughly once every 3 x 10150 times you try it. After some testing and analysis, it was determined that a minimum of 100,000 hands per test is needed for a reasonable level of accuracy. There's still variance even at that number, but in order to cut the variance in half, you'd need to bump the number of hands to 500,000. One reason this accuracy is important is that in the later generations, the differences between candidates are very small. Evolution has caused the main parts of the strategy to converge on a particular approach, and towards the end all it's doing is refining the minor details. In those cases it's important to accurately determine the difference between two similar candidates. Representation Representation is simply the idea that we need to use a data structure for a candidate solution that can be combined via crossover, and possibly mutated. In this case, that's also quite simple because the way that human beings represent a Blackjack strategy is to use three tables, as we've seen. Representing those in code with three two-dimensional arrays is the obvious approach. Each cell in those three tables will have "Hit", "Stand", "Double-Down", or (only for pairs) "Split". By the way, since there are 160 cells in the hard hands table, and 80 cells in the soft hands table, and 100 cells in the pairs table, we can calculate exactly how many possible distinct strategies there are for Blackjack: 4100 x 380 x 3160 = 5 x 10174 possible Blackjack strategies That's a big number, which is obviously impossible to search using brute force. Genetic algorithms (GAs) are extremely helpful when trying to find an optimal solution from a very large set of possible solutions like this. Blackjack Rules and Strategies The rules of Blackjack are fairly simple. The dealer and the player both are dealt two cards. The player sees both of their cards (they are usually dealt face up), and one of the dealer's cards is dealt face up. Each card has a value - for cards between 2 and 10, the value is the same as the card's rank (so an Eight of Spades counts as 8, for example). All face cards count as 10, and an Ace can either be 1 or 11 (it counts as 11 only when that does not result in a hand that exceeds 21). The suit of a card does not matter. After the cards are dealt, if the player has Blackjack (a total of 21) and the dealer does not, the player is immediately paid 1.5 times their original bet, and a new hand is dealt. If the player has 21 and the dealer does also, then it's a tie and the player gets their original bet back, and a new hand is dealt. If the player wasn't dealt a Blackjack, then play continues with the player deciding whether to Stand (not get any more cards), Hit (receive an additional card), Double-down (place an additional bet, and receive one and only one more card), or, in the case of holding a pair, splitting the hand, which means placing an additional bet and receiving two new cards, so the end result is that the player is now playing two (or, in the case of multiple splits, more than two) hands simultaneously. If the player hits or double-downs and has a resulting hand that exceeds 21, then they lose and play continues with the next hand. If not, then the dealer draws until their hand totals at least 17. If the dealer exceeds 21 at this point, the player receives a payment equal to twice their original bet. If the dealer doesn't exceed 21, then the hands are compared and the player with the highest total that doesn't exceed 21 wins. Because of these rules, certain effective strategies emerge. One common strategy is that if you hold a hard hand with a value of 20, 19 or 18, you should Stand, since you avoid busting by going over 21, and you have a nice hand total that might win in a showdown with the dealer. Another common strategy is to split a pair of Aces, since Aces are so powerful (due to the fact that count as 11 or 1, you can often Hit a hand with a soft Ace with no risk of busting). Likewise, splitting a pair of 8s is a good idea because with a hard total of 16, it's likely you will bust if you take a Hit (since so many cards count as 10). As a human being, all it takes is a little knowledge about the rules in order to construct a strategy. The GA program doesn't have that advantage, and operates completely without any pre-programmed knowledge of Blackjack. It simply uses the relative fitness scores and the mechanism of evolution to find the solution. GA Settings There are many variables or settings for a GA. You can adjust population size, how parent candidates are selected, how the resulting children may be mutated, and several other items. The following sections describe some of these settings: Setting: Selection Style Once we've solved representation and have a fitness function, the next step is to select two candidates for crossover during the process of building a new generation. There are three common styles for selection, and this program supports all of them. First, you can choose Roulette Wheel selection. It's named for a Roulette wheel because you can imagine each candidate's fitness score being a wedge in a pie chart, with a size proportionate to its relative fitness compared to the other candidates. (Of course, this assumes that all fitness scores are positive, which we will talk about shortly). The main benefit of Roulette Wheel selection is that selection is fitness-proportionate. Imagine if you had only three candidates, with fitness scores of 1, 3, and 8. The relative selection probabilities for those candidates will be 1/12, 3/12, and 8/12. The downside of Roulette Wheel selection is that it tends to be somewhat slow in terms of processing. The selection process is done by iterating through the candidates until a particular condition is matched - in other words, O(N) performance. Another potential problem with Roulette Wheel selection is that there may be situations where fitness scores vary widely, to such an extent that only certain candidates have any reasonable chance of being selected. This happens frequently in early generations, since the majority of candidates are mostly random. Although this might sound like a positive (since you ultimately want to select candidates with high fitness scores), it also results in a loss of genetic diversity. In other words, even though a particular candidate may have a low fitness score in an early generation, it may contain elements that are needed to find the ultimate solution in later generations. Ranked Selection is the solution to this problem. Instead of using raw fitness scores during the selection process, the candidates are sorted by fitness, with the worst candidate receiving a score of 0, the second worse receiving 1, and so forth, all the way to the best candidate, which has a score equal to the population size - 1. Ranked Selection is quite slow, since it combines the O(N) performance of Roulette Wheel, with the additional requirement that the candidates be sorted before selection. However, there may be circumstances where it performs better than other selection approaches. Finally, the fastest selection method of all is called Tournament Selection. This method simply selects N random candidates from the current generation, and then uses the one with the best fitness score. A tournament size of 2 means two random candidates are selected, and the best of those two is used. If you have a large tournament size (like 10), then 10 different candidates will be selected, with the best of those being the ultimate selection. That obviously tilts the balance between randomness and quality. Tournament selection works well in most cases, but it does require some experimentation to find the best tourney size. Setting: Elitism Elitism is a technique that helps ensure that the best candidates are always maintained. Since all selection methods are random to some degree, it is possible to completely lose the best candidates from one generation to another. By using Elitism, we automatically advance a certain percentage of the best candidates to the next generation. Elitism does have a negative impact on performance since all of the candidates must be sorted by fitness score. Typically Elitism is done before filling the rest of a new generation with new candidates created by crossover. Crossover Details Once two candidate solutions have been selected, the next step in building a new generation is to combine those two into a single new candidate, hopefully using the best of both parent strategies. There are a number of ways to do crossover, but the method used in this program is quite straightforward - the two fitness scores are compared, and crossover happens in a relatively proportionate way. If one candidate has a fitness of 10, and the other has a fitness of 5, then the one with fitness 10 contributes twice as much to the child as the parent with a fitness of 5. Since the fitness scores in this program are based on how much the strategy would win over thousands of hands, almost all fitness scores will be negative. (This is obviously because the rules are set up so the house always wins.) This makes it difficult to calculate relative fitnesses (how do you compare a positive number with a negative, and find relative proportions?), and also causes problems with selection methods like Roulette Wheel or Ranked. To solve this, we find the lowest fitness score of the generation and add that value to each candidate. This results in an adjusted fitness score of 0 for the very worse candidate, so it never gets selected. Mutation As has been mentioned a few times, maintaining genetic diversity in our population of candidate solutions is a good thing. It helps the GA ultimately find the very best solution, by occasionally altering a candidate in a positive direction. There are two settings for mutation. MutationRate controls what percentage of new candidates have mutation done on them. MutationImpact controls what percentage of their strategy is randomized. Population Size Population size has a significant impact on performance. The smaller the population size, the faster the GA will execute. On the other hand, if the size is too low the population may not have enough genetic diversity to find the ultimate solution. During testing, it looks like 700 to 1000 is a good balance between speed and correctness. Performance Notes This program consumes a lot of processing power. Running tests of hundreds of thousands of hands of Blackjack for hundreds or thousands of candidates consumes a lot of time. It's really imperative to write the code so that it works as efficiently as possible. If your CPU isn't consistently at or above 95% usage, there's still room for improvement. Multi-threading is a natural fit for genetic algorithms because we often want to perform the same action on each candidate. The best example of this is when we calculate fitness scores. This is often an operation that takes quite a bit of time. In our case, we're dealing out 100,000 hands, and each hand has to be played until the end. If we're single-threading that code, it's going to take a long time. Multi-threading is really the way to go. Luckily, there's a ridiculously simple way to efficiently use all of your processors for an operation like this. This code loops over all of the candidates in the currentGeneration list, calls the fitness function and sets the fitness property for each: Regardless of the number of items in the list or the number of processors on your machine, the code will efficiently run the code in a multi-threaded manner, and continue only when all of the threads are complete. One of the side effects of making this code multi-threaded is that all of the code relating to evaluating a candidate must be thread-safe, including any Singleton objects. When making code thread-safe, pay attention that you don't accidentally introduce code that will slow your program down unintentionally, because sometimes it can be quite subtle. Random numbers are central to how genetic algorithms work, so it's critical that they can be used correctly from a multithreaded environment. That means that each random number generator must be separate from the others, and it also means that each must produce a distinct series of random numbers. Random number generators use seed values which are usually time-based, like the number of milliseconds the computer has been turned on. Starting with that seed, subsequent calls will return a series of numbers that look random, but really aren't. If you start with the same seed, you get the same sequence. And that's a problem because if you create multiple random number generator objects in a loop using the default time-based seed, several of them will have the same time-based initial seed value, which will result in the same sequence of "random" numbers. That's a bug, because it can reduce the true randomness of the program a great deal, and that's vital to a genetic algorithm. There are a couple of ways to solve this problem. First, you can make the random object truly a singleton, and restrict access to it by using a Clock statement. The makes all access serialized for any random number need, which reduces performance. Another approach is to make the variable static per thread. By declaring the variable as static and also marking it with the [ThreadStatic] attribute, the .NET runtime allocates one static variable per thread. That eliminates the locking/serialization, but also has performance issues. The approach used in this application is to use a non-default seed value. In this case we call Guid.NewGuid().GetHashCode(), which generates a new, unique GUID, then gets an integer hashcode value that should be unique, depending on how GetHashCode is implemented. While multithreading really helps performance, there are also other things we can do to improve performance. For example, when dealing with large populations, the hundreds or thousands of objects that will be generated each generation can quickly turn into a huge problem related to garbage collection. In the end, the easiest way to solve that is to look through the code and find objects being allocate inside a loop. It's better to declare the variable outside of the loop, and then clear it in the loop, rather than reallocate it. In a program like this one where you could be looping hundreds of thousands of times, this can result in a very significant performance boost. For example, in an early version of this code, a Deck object was created for each hand. Since there are hundreds of candidate solutions running hundreds of thousands of trial hands, this was a huge inefficiency. The code was changed to allocate one deck per test sequence. The deck was shuffled as needed, so it never needs to be reallocated. Beyond the cards in the deck, another object type that was repeatedly created and destroyed were the candidate strategies. To mitigate this problem, a StrategyPool class was created that handles allocation and deallocation. This means that strategy objects are reused, rather than dynamically created when needed. The pool class has to be thread-safe, so it does serialize access to its methods via a Clock statement, but overall using the pool approach produced a good performance increase. Finally, a subtle form of object allocation is conversion. In an early version of the code, a utility card function used Convert.ToInt32(rankEnum). Obviously, the easiest way to convert from an enum to an int is simply to cast it, like (int)rankEnum. But it's hard to know exactly what the difference is between that approach, int.Parse(), int.TryParse(), or Convert.ToInt32(), since they can all be used and are roughly equivalent. Perhaps the compiler was boxing the enum value before passing it to Convert.ToInt32(), because the profiler identified this as a function that had large amounts of thread contention waiting - and the problem got much, much worse as the generations passed. By rewriting the conversion to use a simple cast, the program performance increased threefold (3x). Contributing Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. Author Greg Sommerville - Initial work* License This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details

CollabAI
github
LLM Vibe Score0.449
Human Vibe Score0.07795191529604462
sjinnovationMar 27, 2025

CollabAI

CollabAI About Welcome to Collabai.software, where we've taken the world of AI to new heights. We've been working tirelessly to bring you the most advanced, user-friendly platform that seamlessly integrates with the powerful OpenAI API, Gemini, and Claude. Imagine running your own ChatGPT on your server, with the ability to manage access for your entire team. Picture creating custom AI assistants that cater to your unique needs, and organizing your employees into groups for streamlined collaboration. With Collabai.software, this is not just a dream, but a reality. Collabai.software Features: Self-Hosting on Your Cloud: Gain full control by hosting the platform on your private cloud. Ensure data privacy by using your API codes, allowing for secure data handling. Enhanced Team Management: Manage teams with private accounts and customizable access levels (Departments). Prompt Templates: Utilize generic templates to streamline team usage. Departmental Access & Assistant Assignment: Assign AI assistants to specific departments for shared team access. Customizable AI Assistants: Create personalized AI assistants for users or organizations. Tagging Feature in Chats: Organize and retrieve chat data efficiently with custom tags. Chat Storage and Retrieval: Save all chats and replies for future analysis, with an option to restore accidentally deleted chats from Trash. Optimized Performance: Experience our high-speed, efficient platform. Our clients have been using it for over a year, with some spending $1500-$2000 per month on the API. File Upload & GPT-4 Vision Integration: Enhance interactions by uploading files for analysis and sending pictures for AI description. OpenAI API, Gemini, and Claude Integration: Seamlessly integrate with the powerful OpenAI API, Gemini, and Claude for a comprehensive suite of AI capabilities. API-Based Function Calls: Execute custom functions and automate tasks directly through the API. Usage Monitoring: Track your daily and monthly API usage costs to optimize spending. Day and Night Mode: Switch between light and dark themes to enhance visual comfort. Additional Features: Private Accounts: Ensure the security and privacy of your team members' data. Customizable Access Levels: Tailor access permissions to meet the specific needs of your organization. Shared Team Access: Foster collaboration by assigning AI assistants to specific departments or teams. AI-Powered File Analysis: Gain insights and automate tasks by uploading files for AI analysis. AI-Generated Image Descriptions: Enhance communication and understanding by sending pictures for AI-powered descriptions. !image !image !image Folder Structure Client The client folder contains the React-based frontend code for the application. This includes JSX, CSS, and JavaScript files, as well as any additional assets such as images or fonts. Below is a brief overview of the main subdirectories within the client folder: src: This directory contains the React components, styles, and scripts for the frontend application. public: Static assets, such as images or favicon.ico, go here. This folder is served as-is and not processed by the build system. Server The server folder contains all the backend-related code for the application, following a Model-View-Controller (MVC) pattern. Here is a breakdown of the main subdirectories within the server folder: controllers: This directory holds the controller files responsible for handling requests, processing data, and interacting with models. models: Data models and database-related code are organized in this folder. config: Configuration files for the backend, such as database configuration or any other service configuration should be stored here, can be stored in this directory. Getting Started Follow the steps below to get the project up and running. Prerequisites Node.js (Version: >=20.x) MongoDB NPM Development Setup Clone the Repository bash cd client Install Dependencies bash cd ../server Install Backend Dependencies bash npm start To initialize the application data and create a superadmin user, you can use either cURL or Postman: Using cURL If you prefer command-line tools, you can use curl to make a POST request to the /init-setup endpoint. Open your terminal and run the following command: curl -X POST http://localhost:8011/api/init -H "Content-Type: application/json" -d '{ "fname": "Super", "lname": "Admin", "email": "superadmin@example.com", "password": "yourSecurePassword", "employeeCount": 100, "companyName": "INIT_COMPANY" }' Initializing Setup with Postman Open Postman: Launch the Postman application. Create a New Request: Click on the '+' or 'New' button to create a new request. Set HTTP Method to POST: Ensure that the HTTP method is set to POST. Enter URL: Enter the URL http://localhost:8011/api/init. Set Headers: Go to the 'Headers' tab. Set Content-Type to application/json. Set Request Body: Switch to the 'Body' tab. Select the 'raw' radio button. Enter the JSON data for your superadmin user: Send Request: Click the 'Send' button to make the request. This will send a POST request to http://localhost:8011/api/init with the provided JSON payload, creating a superadmin user with the specified details. Site Setup: Login with the superadmin credentials and set up your site by adding configs from your settings page, for ex. API keys, etc. Reference CollaborativeAI Reference Guide Contributing If you would like to contribute to the project, we welcome your contributions! Please follow the guidelines outlined in the CONTRIBUTING.md file. Feel free to raise issues, suggest new features, or send pull requests to help improve the project. Your involvement is greatly appreciated! Thank you for contributing to our project! License MIT

dcai-lab
github
LLM Vibe Score0.541
Human Vibe Score0.3372420543528328
dcai-courseMar 8, 2025

dcai-lab

Lab assignments for Introduction to Data-Centric AI This repository contains the lab assignments for the Introduction to Data-Centric AI class. Contributions are most welcome! If you have ideas for improving the labs, please open an issue or submit a pull request. If you're looking for the 2023 version of the labs, check out the 2023 branch. [Lab 1: Data-Centric AI vs. Model-Centric AI][lab-1] The [first lab assignment][lab-1] walks you through an ML task of building a text classifier, and illustrates the power (and often simplicity) of data-centric approaches. [lab-1]: datacentricmodel_centric/Lab%20-%20Data-Centric%20AI%20vs%20Model-Centric%20AI.ipynb [Lab 2: Label Errors][lab-2] [This lab][lab-2] guides you through writing your own implementation of automatic label error identification using Confident Learning, the technique taught in [today’s lecture][lec-2]. [lab-2]: label_errors/Lab%20-%20Label%20Errors.ipynb [lec-2]: https://dcai.csail.mit.edu/lectures/label-errors/ [Lab 3: Dataset Creation and Curation][lab-3] [This lab assignment][lab-3] is to analyze an already collected dataset labeled by multiple annotators. [lab-3]: dataset_curation/Lab%20-%20Dataset%20Curation.ipynb [Lab 4: Data-centric Evaluation of ML Models][lab-4] [This lab assignment][lab-4] is to try improving the performance of a given model solely by improving its training data via some of the various strategies covered here. [lab-4]: datacentricevaluation/Lab%20-%20Data-Centric%20Evaluation.ipynb [Lab 5: Class Imbalance, Outliers, and Distribution Shift][lab-5] [The lab assignment][lab-5] for this lecture is to implement and compare different methods for identifying outliers. For this lab, we've focused on anomaly detection. You are given a clean training dataset consisting of many pictures of dogs, and an evaluation dataset that contains outliers (non-dogs). Your task is to implement and compare various methods for detecting these outliers. You may implement some of the ideas presented in [today's lecture][lec-5], or you can look up other outlier detection algorithms in the linked references or online. [lab-5]: outliers/Lab%20-%20Outliers.ipynb [lec-5]: https://dcai.csail.mit.edu/lectures/imbalance-outliers-shift/ [Lab 6: Growing or Compressing Datasets][lab-6] [This lab][lab-6] guides you through an implementation of active learning. [lab-6]: growing_datasets/Lab%20-%20Growing%20Datasets.ipynb [Lab 7: Interpretability in Data-Centric ML][lab-7] [This lab][lab-7] guides you through finding issues in a dataset’s features by applying interpretability techniques. [lab-7]: interpretable_features/Lab%20-%20Interpretable%20Features.ipynb [Lab 8: Encoding Human Priors: Data Augmentation and Prompt Engineering][lab-8] [This lab] guides you through prompt engineering, crafting inputs for large language models (LLMs). With these large pre-trained models, even small amounts of data can make them very useful. This lab is also [available on Colab][lab-8-colab]. [lab-8]: promptengineering/LabPrompt_Engineering.ipynb [lab-8-colab]: https://colab.research.google.com/drive/1cipH-u6Jz0EH-6Cd9MPYgY4K0sJZwRJq [Lab 9: Data Privacy and Security][lab-9] The [lab assignment][lab-9] for this lecture is to implement a membership inference attack. You are given a trained machine learning model, available as a black-box prediction function. Your task is to devise a method to determine whether or not a given data point was in the training set of this model. You may implement some of the ideas presented in [today’s lecture][lec-9], or you can look up other membership inference attack algorithms. [lab-9]: membership_inference/Lab%20-%20Membership%20Inference.ipynb [lec-9]: https://dcai.csail.mit.edu/lectures/data-privacy-security/ License Copyright (c) by the instructors of Introduction to Data-Centric AI (dcai.csail.mit.edu). dcai-lab is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. dcai-lab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See GNU Affero General Public LICENSE for details.

Mastering-AI-for-Entrepreneurs-9-Free-Courses
github
LLM Vibe Score0.203
Human Vibe Score0
Softtechhub1Feb 1, 2025

Mastering-AI-for-Entrepreneurs-9-Free-Courses

Mastering-AI-for-Entrepreneurs-9-Free-Courses Introduction: The Entrepreneur's AI RevolutionArtificial Intelligence (AI) is changing the way we do business. It's not just for tech giants anymore. Small businesses and startups are using AI to work smarter, not harder. As an entrepreneur, you need to understand AI to stay ahead.Why AI is a must-have skill for entrepreneursAI is everywhere. It's in the apps we use, the products we buy, and the services we rely on. Businesses that use AI are seeing big improvements:They're making better decisions with data-driven insightsThey're automating routine tasks, freeing up time for creativityThey're personalizing customer experiences, boosting satisfaction and salesIf you're not using AI, you're falling behind. But here's the good news: you don't need to be a tech wizard to harness the power of AI.Breaking the barriers to AI learningThink AI is too complex? Think again. You don't need a computer science degree to understand and use AI in your business. Many AI tools are designed for non-technical users. They're intuitive and user-friendly.The best part? You can learn about AI for free. There are tons of high-quality courses available at no cost. These courses are designed for busy entrepreneurs like you. They cut through the jargon and focus on practical applications.What to expect from this articleWe've handpicked nine free courses that will turn you into an AI-savvy entrepreneur. Each course is unique, offering different perspectives and skills. We'll cover:What makes each course specialWhat you'll learnHow it applies to your businessWho it's best suited forReady to dive in? Let's explore these game-changing courses that will boost your AI knowledge and give your business an edge.1. Google AI Essentials: A Beginner's Guide to Practical AIWhy This Course Is EssentialGoogle AI Essentials is perfect if you're just starting out. It's designed for people who don't have a tech background. The course focuses on how AI can help you in your day-to-day work, not on complex theories.What You'll LearnThis course is all about making AI work for you. You'll discover how to:Use AI to boost your productivity. Generate ideas, create content, and manage tasks more efficiently.Streamline your workflows. Learn how AI can help with everyday tasks like drafting emails and organizing your schedule.Use AI responsibly. Understand the potential biases in AI and how to use it ethically.Key TakeawaysYou'll earn a certificate from Google. This looks great on your resume or LinkedIn profile.You'll learn how to work alongside AI tools to get better results in your business.You'll gain practical skills you can use right away to improve your work.Get StartedEnroll in Google AI Essentials2. Introduction to Generative AI: A Quick Start for EntrepreneursWhy This Course Works for Busy EntrepreneursThis course is short and sweet. In just 30 minutes, you'll get a solid grasp of generative AI. It's perfect if you're short on time but want to understand the basics.What You'll LearnThe fundamentals of generative AI: what it is, how it works, and its limitsHow generative AI differs from other types of AIReal-world applications of generative AI in businessHow It Helps Your BusinessAfter this course, you'll be able to:Make smarter decisions about using AI tools in your businessSpot opportunities where generative AI could solve problems or create valueUnderstand the potential and limitations of this technologyGet StartedEnroll in Introduction to Generative AI3. Generative AI with Large Language Models: Advanced Skills for EntrepreneursWhy This Course Stands OutThis course digs deeper into the technical side of AI. It's ideal if you have some coding experience and want to understand how AI models work under the hood.What You'll LearnYou'll gain key skills for working with Large Language Models (LLMs):How to gather and prepare data for AI modelsChoosing the right model for your needsEvaluating model performance and improving resultsYou'll also learn about:The architecture behind transformer models (the tech powering many AI tools)Techniques for fine-tuning models to your specific business needsWho Should Take This CourseThis course is best for entrepreneurs who:Have basic Python programming skillsUnderstand the fundamentals of machine learningWant to go beyond using AI tools to actually building and customizing themGet StartedEnroll in Generative AI with Large Language Models4. AI for Everyone by Andrew Ng: Simplifying AI for Business LeadersWhy It's Perfect for BeginnersAndrew Ng is a leading figure in AI education. He's known for making complex topics easy to understand. This course is designed for non-technical learners. You don't need any coding or math skills to benefit from it.What You'll LearnHow AI works at a high levelHow to spot problems in your business that AI can solveWays to assess how AI might impact your business processes and strategiesWhy Entrepreneurs Love This CourseIt explains AI concepts in plain English, without technical jargonYou can complete it in just 8 hours, fitting it into your busy scheduleIt focuses on the business value of AI, not just the technologyGet StartedStart with AI for Everyone on Coursera5. Generative AI: Introduction and ApplicationsWhy This Course Is Ideal for EntrepreneursThis course offers a broad view of generative AI applications. You'll learn about AI in text, image, audio, and more. It's packed with hands-on experience using popular AI tools.What You'll LearnThe basics and history of generative AI technologiesHow different industries are using AI, from marketing to creative projectsPractical skills through labs using tools like ChatGPT, DALL-E, and Stable DiffusionHow It Stands OutYou'll hear from real AI practitioners about their experiencesThe course teaches you how to use generative AI to innovate and improve efficiency in your businessGet StartedEnroll in Generative AI: Introduction and Applications6. Generative AI for Everyone by Andrew Ng: Unlocking ProductivityWhy This Course Is a Must-HaveThis course focuses on using generative AI tools for everyday business tasks. It's all about boosting your productivity and efficiency.What You'll LearnHands-on exercises to integrate AI tools into your daily workReal examples of how businesses are using generative AI to save time and moneyTechniques for prompt engineering to get better results from AI toolsHow It Helps EntrepreneursYou'll learn to automate repetitive tasks, freeing up time for strategic thinkingYou'll discover new ways to use AI tools in your business processesYou'll gain confidence in experimenting with AI to solve business challengesGet StartedGo deeper with DeepLearning.AI7. Generative AI for Business Leaders by LinkedIn LearningWhy This Course Focuses on Business ApplicationsThis course is tailored for leaders who want to integrate AI into their business operations. It provides practical insights for improving workflows and decision-making.What You'll LearnStrategies for using AI to optimize your business operationsHow to save time and resources with AI-powered toolsPractical methods for implementing AI in your company, regardless of sizeKey BenefitsThe course is designed for busy professionals, allowing you to learn at your own paceYou'll gain insights you can apply immediately to your businessIt covers both the potential and the limitations of AI in business settingsGet StartedLevel up on LinkedIn Learning8. AI for Beginners by Microsoft: A Structured Learning PathWhy This Course Builds a Strong AI FoundationMicrosoft's AI for Beginners is a comprehensive 12-week program. It covers core AI concepts in a structured, easy-to-follow format. The course combines theoretical knowledge with hands-on practice through quizzes and labs.What You'll LearnThe basics of AI, machine learning, and data scienceStep-by-step guidance to build a strong knowledge basePractical applications of AI in various business contextsHow to Approach This CourseDedicate 2-3 hours per week to complete the curriculumUse the structured format to gradually build your confidence in AI conceptsApply what you learn to real business scenarios as you progressGet StartedBuild foundations with Microsoft9. AI for Business Specialization by UPenn: Strategic Thinking with AIWhy This Course Is Perfect for Business LeadersThis specialization focuses on AI's transformative impact on core business functions. It covers how AI is changing marketing, finance, and operations.What You'll LearnHow to build an AI strategy tailored to your business needsWays to leverage AI to drive innovation across different departmentsTechniques for integrating AI into your business modelHow to Make the Most of This CourseTake detailed notes on how each module applies to your own business challengesUse the specialization to develop a long-term AI vision for your companyNetwork with other business leaders taking the course to share insights and experiencesGet StartedScale up with UPenn's business focusConclusion: Your Path to Becoming an AI-powered EntrepreneurWe've covered nine fantastic free courses that can transform you into an AI-savvy entrepreneur. Let's recap:Google AI Essentials: Perfect for beginners, focusing on practical AI applications.Introduction to Generative AI: A quick start to understand the basics of generative AI.Generative AI with Large Language Models: For those ready to dive into the technical side.AI for Everyone: A non-technical introduction to AI's business impact.Generative AI: Introduction and Applications: A broad look at generative AI across industries.Generative AI for Everyone: Focused on boosting productivity with AI tools.Generative AI for Business Leaders: Tailored for integrating AI into business operations.AI for Beginners: A structured path to build a strong AI foundation.AI for Business Specialization: Strategic thinking about AI in business functions.Remember, you don't need to tackle all these courses at once. Start small and build your knowledge gradually. Pick the course that aligns best with your current needs and business goals.Embracing AI is not just about staying competitive; it's about opening new doors for innovation and growth. These courses will help you see opportunities where AI can solve problems, improve efficiency, and create value for your business.The AI revolution is happening now. The sooner you start learning, the better positioned you'll be to lead in this new era. Each step you take in understanding AI is a step towards future-proofing your business.So, what are you waiting for? Choose a course, dive in, and start your journey to becoming an AI-powered entrepreneur today. The future of your business may depend on it.MORE ARTICLES FOR YOUHumanizzer Fastpass Bundle – OTO1 to OTO4: Get (Humanizzer + All OTOs) Fastpass for Massive 75% Discount Available Limited-Time OneHumanizzer Review: Build Lifelike Human AI Agents That Talk, Listen & Engage Face-To-Face!—In Your Voice, Just Like You!EasyListDetox App Review: A Windows tool with Giveaway Rights for effortlessly cleaning your email lists of duplicates, invalid, and disposable addresses. Simple, efficient, and time-savingAI Copy Kit Review: Google’s Latest AI Tech Tensorflow (Tf) Create Jaw-Dropping And Advanced Ultra HD Videos, Ultra Shorts, 4K Images, Voiceovers, and Any Other GPT 4-Powered Amazing Content In Minutes Without Any Complicated Tools!From Good to Great: 15 Books to Inspire Personal and Business TransformationFTC Affiliate Commission Disclaimer: Some links in this article may earn us a commission if you make a purchase. This doesn't affect our recommendations.

airflow-tutorial
github
LLM Vibe Score0.508
Human Vibe Score0.13240553426231688
hgrifJan 19, 2025

airflow-tutorial

Airflow tutorial This tutorial is loosely based on the Airflow tutorial in the official documentation. It will walk you through the basics of setting up Airflow and creating an Airflow workflow. This tutorial was published on the blog of GoDataDriven. Setup You can skip this section if Airflow is already set up. Make sure that you can run airflow commands, know where to put your DAGs and have access to the web UI. Install Airflow Airflow is installable with pip via a simple pip install apache-airflow. Either use a separate python virtual environment or install it in your default python environment. To use the conda virtual environment as defined in environment.yml in this git-repo: Install miniconda. Make sure that conda is on your path: Create the virtual environment from environment.yml: Activate the virtual environment: You should now have an (almost) working Airflow installation. Alternatively, install Airflow yourself by running: Airflow used to be packaged as airflow but is packaged as apache-airflow since version 1.8.1. Make sure that you install any extra packages with the right Python package: e.g. use pip install apache-airflow[dask] if you've installed apache-airflow and do not use pip install airflow[dask]. Leaving out the prefix apache- will install an old version of Airflow next to your current version, leading to a world of hurt. You may run into problems if you don't have the right binaries or Python packages installed for certain backends or operators. When specifying support for e.g. PostgreSQL when installing extra Airflow packages, make sure the database is installed; do a brew install postgresql or apt-get install postgresql before the pip install apache-airflow[postgres]. Similarly, when running into HiveOperator errors, do a pip install apache-airflow[hive] and make sure you can use Hive. Run Airflow Before you can use Airflow you have to initialize its database. The database contains information about historical & running workflows, connections to external data sources, user management, etc. Once the database is set up, Airflow's UI can be accessed by running a web server and workflows can be started. The default database is a SQLite database, which is fine for this tutorial. In a production setting you'll probably be using something like MySQL or PostgreSQL. You'll probably want to back it up as this database stores the state of everything related to Airflow. Airflow will use the directory set in the environment variable AIRFLOW_HOME to store its configuration and our SQlite database. This directory will be used after your first Airflow command. If you don't set the environment variable AIRFLOW_HOME, Airflow will create the directory ~/airflow/ to put its files in. Set environment variable AIRFLOW_HOME to e.g. your current directory $(pwd): or any other suitable directory. Next, initialize the database: Now start the web server and go to localhost:8080 to check out the UI: It should look something like this: With the web server running workflows can be started from a new terminal window. Open a new terminal, activate the virtual environment and set the environment variable AIRFLOW_HOME for this terminal as well: Make sure that you're an in the same directory as before when using $(pwd). Run a supplied example: And check in the web UI that it has run by going to Browse -> Task Instances. This concludes all the setting up that you need for this tutorial. Tips Both Python 2 and 3 are be supported by Airflow. However, some of the lesser used parts (e.g. operators in contrib) might not support Python 3. For more information on configuration check the sections on Configuration and Security of the Airflow documentation. Check the Airflow repository for upstart and systemd templates. Airflow logs extensively, so pick your log folder carefully. Set the timezone of your production machine to UTC: Airflow assumes it's UTC. Workflows We'll create a workflow by specifying actions as a Directed Acyclic Graph (DAG) in Python. The tasks of a workflow make up a Graph; the graph is Directed because the tasks are ordered; and we don't want to get stuck in an eternal loop so the graph also has to be Acyclic. The figure below shows an example of a DAG: The DAG of this tutorial is a bit easier. It will consist of the following tasks: print 'hello' wait 5 seconds print 'world and we'll plan daily execution of this workflow. Create a DAG file Go to the folder that you've designated to be your AIRFLOWHOME and find the DAGs folder located in subfolder dags/ (if you cannot find, check the setting dagsfolder in $AIRFLOW_HOME/airflow.cfg). Create a Python file with the name airflow_tutorial.py that will contain your DAG. Your workflow will automatically be picked up and scheduled to run. First we'll configure settings that are shared by all our tasks. Settings for tasks can be passed as arguments when creating them, but we can also pass a dictionary with default values to the DAG. This allows us to share default arguments for all the tasks in our DAG is the best place to set e.g. the owner and start date of our DAG. Add the following import and dictionary to airflow_tutorial.py to specify the owner, start time, and retry settings that are shared by our tasks: Configure common settings These settings tell Airflow that this workflow is owned by 'me', that the workflow is valid since June 1st of 2017, it should not send emails and it is allowed to retry the workflow once if it fails with a delay of 5 minutes. Other common default arguments are email settings on failure and the end time. Create the DAG We'll now create a DAG object that will contain our tasks. Name it airflowtutorialv01 and pass default_args: With schedule_interval='0 0 *' we've specified a run at every hour 0; the DAG will run each day at 00:00. See crontab.guru for help deciphering cron schedule expressions. Alternatively, you can use strings like '@daily' and '@hourly'. We've used a context manager to create a DAG (new since 1.8). All the tasks for the DAG should be indented to indicate that they are part of this DAG. Without this context manager you'd have to set the dag parameter for each of your tasks. Airflow will generate DAG runs from the startdate with the specified scheduleinterval. Once a DAG is active, Airflow continuously checks in the database if all the DAG runs have successfully ran since the start_date. Any missing DAG runs are automatically scheduled. When you initialize on 2016-01-04 a DAG with a startdate at 2016-01-01 and a daily scheduleinterval, Airflow will schedule DAG runs for all the days between 2016-01-01 and 2016-01-04. A run starts after the time for the run has passed. The time for which the workflow runs is called the execution_date. The daily workflow for 2016-06-02 runs after 2016-06-02 23:59 and the hourly workflow for 2016-07-03 01:00 starts after 2016-07-03 01:59. From the ETL viewpoint this makes sense: you can only process the daily data for a day after it has passed. This can, however, ask for some juggling with date for other workflows. For Machine Learning models you may want to use all the data up to a given date, you'll have to add the scheduleinterval to your executiondate somewhere in the workflow logic. Because Airflow saves all the (scheduled) DAG runs in its database, you should not change the startdate and scheduleinterval of a DAG. Instead, up the version number of the DAG (e.g. airflowtutorialv02) and avoid running unnecessary tasks by using the web interface or command line tools Timezones and especially daylight savings can mean trouble when scheduling things, so keep your Airflow machine in UTC. You don't want to skip an hour because daylight savings kicks in (or out). Create the tasks Tasks are represented by operators that either perform an action, transfer data, or sense if something has been done. Examples of actions are running a bash script or calling a Python function; of transfers are copying tables between databases or uploading a file; and of sensors are checking if a file exists or data has been added to a database. We'll create a workflow consisting of three tasks: we'll print 'hello', wait for 10 seconds and finally print 'world'. The first two are done with the BashOperator and the latter with the PythonOperator. Give each operator an unique task ID and something to do: Note how we can pass bash commands in the BashOperator and that the PythonOperator asks for a Python function that can be called. Dependencies in tasks are added by setting other actions as upstream (or downstream). Link the operations in a chain so that sleep will be run after printhello and is followed by printworld; printhello -> sleep -> printworld: After rearranging the code your final DAG should look something like: Test the DAG First check that DAG file contains valid Python code by executing the file with Python: You can manually test a single task for a given execution_date with airflow test: This runs the task locally as if it was for 2017-07-01, ignoring other tasks and without communicating to the database. Activate the DAG Now that you're confident that your dag works, let's set it to run automatically! To do so, the scheduler needs to be turned on; the scheduler monitors all tasks and all DAGs and triggers the task instances whose dependencies have been met. Open a new terminal, activate the virtual environment and set the environment variable AIRFLOW_HOME for this terminal, and type Once the scheduler is up and running, refresh the DAGs page in the web UI. You should see airflowtutorialv01 in the list of DAGs with an on/off switch next to it. Turn on the DAG in the web UI and sit back while Airflow starts backfilling the dag runs! Tips Make your DAGs idempotent: rerunning them should give the same results. Use the the cron notation for schedule_interval instead of @daily and @hourly. @daily and @hourly always run after respectively midnight and the full hour, regardless of the hour/minute specified. Manage your connections and secrets with the Connections and/or Variables. Exercises You now know the basics of setting up Airflow, creating a DAG and turning it on; time to go deeper! Change the interval to every 30 minutes. Use a sensor to add a delay of 5 minutes before starting. Implement templating for the BashOperator: print the executiondate instead of 'hello' (check out the original tutorial and the example DAG). Implement templating for the PythonOperator: print the executiondate with one hour added in the function printworld() (check out the documentation of the PythonOperator). Resources Data Pipelines with Apache Airflow Airflow documentation ETL best practices with Airflow Airflow: Tips, Tricks, and Pitfalls Kubernetes Custom controller for deploying Airflow

ai50
github
LLM Vibe Score0.457
Human Vibe Score0.07953823122984799
nahueespinosaJan 17, 2025

ai50

My work on CS50’s Introduction to AI with Python https://cs50.harvard.edu/ai/ This course explores the concepts and algorithms at the foundation of modern artificial intelligence, diving into the ideas that give rise to technologies like game-playing engines, handwriting recognition, and machine translation. Through hands-on projects, students gain exposure to the theory behind graph search algorithms, classification, optimization, reinforcement learning, and other topics in artificial intelligence and machine learning as they incorporate them into their own Python programs. By course’s end, students emerge with experience in libraries for machine learning as well as knowledge of artificial intelligence principles that enable them to design intelligent systems of their own. Certificate: https://courses.edx.org/certificates/2ec5ff3f06b24bb595c21e3821591538 Notes I've taken some notes on key concepts and algorithms throughout the lectures for future reference. Lecture 0: Search Concepts Agent: entity that perceives its environment and acts upon that environment. State: a configuration of the agent and its environment. Actions: choices that can be made in a state. Transition model: a description of what state results from performing any applicable action in any state. Path cost: numerical cost associated with a given path. Evaluation function: function that estimates the expected utility of the game from a given state. Algorithms DFS (depth first search): search algorithm that always expands the deepest node in the frontier. BFS (breath first search): search algorithm that always expands the shallowest node in the frontier. Greedy best-first search: search algorithm that expands the node that is closest to the goal, as estimated by an heuristic function h(n). A\* search: search algorithm that expands node with lowest value of the "cost to reach node" plus the "estimated goal cost". Minimax: adversarial search algorithm. Projects Degrees Tic-Tac-Toe Lecture 1: Knowledge Concepts Sentence: an assertion about the world in a knowledge representation language. Knowledge base: a set of sentences known by a knowledge-based agent. Entailment: a entails b if in every model in which sentence a is true, sentence b is also true. Inference: the process of deriving new sentences from old ones. Conjunctive normal form: logical sentence that is a conjunction of clauses. First order logic: Propositional logic. Second order logic: Proposition logic with universal and existential quantification. Algorithms Model checking: enumerate all possible models and see if a proposition is true in every one of them. Conversion to CNF and Inference by resolution Projects Knights Minesweeper Lecture 2: Uncertainty Concepts Unconditional probability: degree of belief in a proposition in the absence of any other evidence. Conditional probability: degree of belief in a proposition given some evidence that has already been revealed. Random variable: a variable in probability theory with a domain of possible values it can take on. Independence: the knowledge that one event occurs does not affect the probability of the other event. Bayes' Rule: P(a) P(b|a) = P(b) P(a|b) Bayesian network: data structure that represents the dependencies among random variables. Markov assumption: the assumption that the current state depends on only a finite fixed number of previous states. Markov chain: a sequence of random variables where the distribution of each variable follows the Markov assumption. Hidden Markov Model: a Markov model for a system with hidden states that generate some observed event. Algorithms Inference by enumeration Sampling Likelihood weighting Projects Heredity PageRank Lecture 3: Optimization Concepts Optimization: choosing the best option from a set of options. Algorithms Local Search Hill climbing steepest-ascent: choose the highest-valued neighbor. stochastic: choose randomly from higher-valued neighbors. first-choice: choose the first higher-valued neighbor. random-restart: conduct hill climbing multiple times. local beam search: chooses the k highest-valued neighbors. Simulated annealing: early on, more likely to accept worse-valued neighbors than the current state. Linear programming Simplex Interior-Point Constraint satisfaction problems Arc consistency: to make X arc-consistent with respect to Y, removing elements from X's domain until every choice for X has a possible choice for Y Backtracking search Projects Crossword Lecture 4: Learning Concepts Supervised learning: given a data set of input-output pairs, learn a function to map inputs to outputs. Classification: supervised learning task of learning a function mapping an input point to a discrete category. Regression: supervised learning task of learning a function mapping and input point to a continuous value. Loss function: function that express how poorly our hypothesis performs (L1, L2). Overfitting: when a model fits too closely to a particular data set and therefore may fail to generalize to future data. Regularization: penalizing hypotheses that are more complex to favor simpler, more general hypotheses. Holdout cross-validation: splitting data into a training set and a test set, such that learning happens on the training set and is evaluated on the test set. k-fold cross-validation: splitting data into k sets, and experimenting k times, using each set as a test set once, and using remaining data as training set. Reinforcement learning: given a set of rewards or punishments, learn what actions to take in the future. Unsupervised learning: given input data without any additional feedback, learn patterns. Clustering: organizing a set of objects into groups in such a way that similar objects tend to be in the same group. Algorithms k-nearest-neighbor classification: given an input, chooses the most common class out of the k nearest data points to that input. Support Vector Machines (SVM) Markov decision process: model for decision-making, representing states, actions and their rewards. Q-learning: method for learning a function Q(s, a), estimate of the value of performing action a in state s. Greedy decision-making epsilon-greedy k-means clustering: clustering data based on repeatedly assigning points to clusters and updating those clusters' centers. Projects Shopping Nim Lecture 5: Neural Networks Concepts Artificial neural network: mathematical model for learning inspired by biological neural networks. Multilayer neural network: artificial neural network with an input layer, an output layer, and at least one hidden layer. Deep neural network: neural network with multiple hidden layer. Dropout: temporarily removing units - selected at random - from a neural network to prevent over-reliance on certain units. Image convolution: applying a filter that adds each pixel value of an image to its neighbors, weighted according to a kernel matrix. Pooling: reducing the size of an input by sampling from regions in the input. Convolutional neural network: neural networks that use convolution, usually for analyzing images. Recurrent neural network: neural network that generates output that feeds back into its own inputs. Algorithms Gradient descent: algorithm for minimizing loss when training neural network. Backpropagation: algorithm for training neural networks with hidden layers. Projects Traffic Lecture 6: Language Concepts Natural language processing n-gram: a continuous sequence of n items inside of a text. Tokenization: the task of splitting a sequence of characters into pieces (tokens). Text Categorization Bag-of-words model: represent text as an unordered collection of words. Information retrieval: the task of finding relevant documents in response to a user query. Topic modeling: models for discovering the topics for a set of documents. Term frequency: number of times a term appears in a document. Function words: words that have little meaning on their own, but are used to grammatically connect other words. Content words: words that carry meaning independently. Inverse document frequency: measure of how common or rare a word is across documents. Information extraction: the task of extracting knowledge from documents. WordNet: a lexical database of semantic relations between words. Word representation: looking for a way to represent the meaning of a word for further processing. one-hot: representation of meaning as a vector with a single 1, and with other values as 0. distribution: representation of meaning distributed across multiple values. Algorithms Markov model applied to language: generating the next word based on the previous words and a probability. Naive Bayes: based on the Bayes' Rule to calculate probability of a text being in a certain category, given it contains specific words. Assuming every word is independent of each other. Additive smoothing: adding a value a to each value in our distribution to smooth the data. Laplace smoothing: adding 1 to each value in our distribution (pretending we've seen each value one more time than we actually have). tf-idf: ranking of what words are important in a document by multiplying term frequency (TF) by inverse document frequency (IDF). Automated template generation: giving AI some terms and let it look into a corpus for patterns where those terms show up together. Then it can use those templates to extract new knowledge from the corpus. word2vec: model for generating word vectors. skip-gram architecture: neural network architecture for predicting context words given a target word. Projects Parser Questions