Is the AI Machine Learning based DeepPCB autorouter better than Dave at routing a simple double sided PCB? Let's try it! TLDR; It sucks.
The beauty of buzzwords. Terms devoid of meaning so much, that you can call anything “AI” or “deep”! After all the user can’t verify it.
My initial guess was, that this is just a “traditional” autorouter. But it seems the company does some research in machine learning, which suggests that the router may contain this technology. The questions remain: how much of it? How it is used? Does it even have any real impact on the solutions?
From the video two things may be guessed. Some kind of a recursive optimization approach is used. The program clearly has some initial guesses and tries to make them better, quickly getting trapped in a local extremum. This doesn’t leave much space for ML algorithms. Secondly, the model it uses is based on 2-dimensional cartesian planes, not a graph describing the solution. This is a much weaker guess, but the number of weirdly shaped traces seems way too big for the latter.
Which is sad, because it’s just “throw a smortnet against the wall and see if it sticks”. Instead of trying to solve the problem using the most appropriate mathematical abstraction and using ML to improve or avoid the hardest steps.
So, they have not progressed in all since I tested them last time. I had better results using "Freerouting", and almost usable results after setting up cost functions, net classes and proper constraints.
I feel pretty confident that a good auto-router should be possible with current AI technology.
There's probably just no-one willing to put in 10 million to develop it.
But with ChatGPT/OpenAI now a thing it's probably that building a good auto-router AI is much cheaper now.
I feel pretty confident that a good auto-router should be possible with current AI technology.
There's probably just no-one willing to put in 10 billion to develop it.
But with ChatGPT/OpenAI now a thing it's probably that building a good auto-router AI is much cheaper now.
Nah, come on. The price tag on an AI autorouter is not 10 billion
I feel pretty confident that a good auto-router should be possible with current AI technology.
There's probably just no-one willing to put in 10 billion to develop it.
But with ChatGPT/OpenAI now a thing it's probably that building a good auto-router AI is much cheaper now.
Nah, come on. The price tag on an AI autorouter is not 10 billion
ops. I mean to write million. haha
It's... odd to call an auto/AI-routed design a "Fail"* just because it's routed differently from how a human would have done it. Did anyone claim that his autoRouter produces aesthetically superior results? Or stated that it works just like a human designer?
*The word "Fail" is currently in the YouTube video title.
Personally, I appreciate a visually pleasing PCB as much as anyone, but that probably shouldn't be the point here. Assuming the autoRouter produces a complete solution, I believe the reasonable questions should be:
- Will the circuit work to spec?
- Is it more prone to production/mechanical/electronic faults than a human design?
- Will it be easier to bodge, when the need arises?
- Is it, all things considered, cheaper and/or faster to design?
I wonder if it would be more viable if the input was the process of a human designer working, instead of the finished result.
It's... odd to call an auto/AI-routed design a "Fail"* just because it's routed differently from how a human would have done it. Did anyone claim that his autoRouter produces aesthetically superior results? Or stated that it works just like a human designer?
*The word "Fail" is currently in the YouTube video title.
Personally, I appreciate a visually pleasing PCB as much as anyone, but that probably shouldn't be the point here. Assuming the autoRouter produces a complete solution, I believe the reasonable questions should be:
- Will the circuit work to spec?
- Is it more prone to production/mechanical/electronic faults than a human design?
- Will it be easier to bodge, when the need arises?
- Is it, all things considered, cheaper and/or faster to design?
The thing is - it didn't produce a complete solution. Hence the title "FAIL" is appropriate.
Also:
- didn't produce a complete solution
- wasn't faster than a human
- got itself stuck in a corner and the result was FUBAR.
- performed worse than a traditional autorouter solution.
The thing is - it didn't produce a complete solution. Hence the title "FAIL" is appropriate.
As far as that one specific test was concerned, true.
But that's not what Dave talked about for over 90% of the video (also, if I remember correctly, a solution was found after a very short time, the service just decided to keep on going and then messed it up).
I think the main "fail" was that it was making dumb mistakes that would have been trivial to avoid with some very simple rules.
Dave, could you make the DSN file available?
I'd like to compare with the result of Freerouting - I think it can hardly be worse
Not completing the job is a fail. Routing in the more traditional way without strong directional restrictions is a tough problem and it is not a surprise to have it fail. The altium auto-router also did fail, though it got a little further - still both solutions are far from complete. Even just 1 missing link would not be working PCP.
I did not see traces relatively close togther and this may indicate that it got some more stringent design rule that could make a solution impossible.
With a 2 layer baord a rather stupid autorouter could produce a sulution with brute force separation of horizontal and vertical. It would be an ugly solution with maybe thousands of vias, but changes are high it would work for the board shown.
I would not make too much of some of the odd corners and silly looking details. A reasonable routing process is usually first to get a valid solution and than have some optimization and clean up step. The AI based router may still have that and just never reached that stage. It could even be a combination of a classic try and error router for the first step and the AI only in the clean up and optimize stage that it never reached. If this would work, I would not mind.
Dave, could you make the DSN file available?
I'd like to compare with the result of Freerouting - I think it can hardly be worse
Oh really?
Freerouting is actually not half bad for an autorouter. I've definitely seen way worse.
I wonder if it would be more viable if the input was the process of a human designer working, instead of the finished result.
Yes, it would surely greatly benefit from live training.
We expect our AI agent to find good solutions by itself. This means discovering routing patterns. For instance, we have some boards in which the AI uses one layer with horizontal connections only, and the other one for vertical connections. We can share with you some boards having this property.
Back to I don't remember which year. Soon this AI will decide to provide you some tape and decals delivered to you by someone on a horse. But maybe I'm not qualified to comment on this because long ago some member of this board told me that a board I routed looked as if it was done by a schizophrenic because it used two different routing strategies. Of course we got along fine.
I feel pretty confident that a good auto-router should be possible with current AI technology.
There's probably just no-one willing to put in 10 billion to develop it.
But with ChatGPT/OpenAI now a thing it's probably that building a good auto-router AI is much cheaper now.
Nah, come on. The price tag on an AI autorouter is not 10 billion
ops. I mean to write million. haha
You were probably more correct with your original post.
S/W projects do tend to significantly overrun their initial budgets.
Altium marketing are absolute fools for not giving you a free permanent license.
Deep PCB replied:
We routed your board using our more advanced, unreleased version of DeepPCB to get you better results. Your board is fully routed with 163 vias, after 7 hours. There is some minor tidy-up to be done.
LOL 7 hours with nvidia and cloud processing.
Our router uses reinforcement learning. The algorithm is about learning from trial and error. This explains the quality of the first solutions that you saw.
aka brute forces the solution, which is why it took 7 hours.
We expect our AI agent to find good solutions by itself. This means discovering routing patterns. For instance, we have some boards in which the AI uses one layer with horizontal connections only, and the other one for vertical connections. We can share with you some boards having this property.
That sounds like bs, it would maybe make more sense to have an option: "top layer - auto/vertical/horizontal/none", which is what the Altium autorouter has.
Altium marketing are absolute fools for not giving you a free permanent license.
They did every year for quite a few years, but someone who handled the renewal every year seems gone, and now no one else seems interested.
The company is called InstaDeep, DeepPCB is one of theirproduct. It's a Tunisian company and i had a talk with their developers, they were trying to promote the thing and i said to them exactly what Dave said, and heavily criticized even the routing example they showed in their presentation, it was a simple pcb yet horribly routed.
To their defense, they are not in anyway related to pcb design business and what they end up saying in their presentation that the tool is mostly part of "decision making" algorithms that they are developing.
Useless.
Hamdi
Altium marketing are absolute fools for not giving you a free permanent license.
They did every year for quite a few years, but someone who handled the renewal every year seems gone, and now no one else seems interested.
Sounds like you need to make a video and mention they've decided to stop supporting the eevblog.
And talk about your plans to make more educational videos about kicad/diptrace/etc...
There's nothing like publicity and fear of losing future customers to get them into gear.
Dave, could you make the DSN file available?
I'd like to compare with the result of Freerouting - I think it can hardly be worse
+1
would like to compare it with Topor...
Oh really?
Freerouting is actually not half bad for an autorouter. I've definitely seen way worse.
I think you misunderstood me. I tried Freerouting a couple of times and was pleasantly surprised.
What I wanted to express was that I think the results of Freerouting will likely be better (or at least not worse) than those of DeepPCB.