<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Argo Saakyan</title>
    <description>The latest articles on DEV Community by Argo Saakyan (@argo_saakyan_9772ced462f6).</description>
    <link>https://dev.to/argo_saakyan_9772ced462f6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F996488%2F2497cca1-72fb-4cae-870d-0b62f769b4ba.jpeg</url>
      <title>DEV Community: Argo Saakyan</title>
      <link>https://dev.to/argo_saakyan_9772ced462f6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/argo_saakyan_9772ced462f6"/>
    <language>en</language>
    <item>
      <title>10 tips to perform well at Hackathons</title>
      <dc:creator>Argo Saakyan</dc:creator>
      <pubDate>Fri, 03 Feb 2023 19:27:19 +0000</pubDate>
      <link>https://dev.to/argo_saakyan_9772ced462f6/10-tips-to-perform-well-at-hackathons-277k</link>
      <guid>https://dev.to/argo_saakyan_9772ced462f6/10-tips-to-perform-well-at-hackathons-277k</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgcv3gr4zuiqbwd8nmbss.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgcv3gr4zuiqbwd8nmbss.jpg" alt="Image description" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I love hackathons, they are just crazy sometimes. I have attended at several hackathons with a team, and we lost sometimes, won or took prized place. So, I have diverse experience, but what is more important - I have been judging and mentoring hackathons too. That's why I want to give some hints on how to perform better.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's the point of hackathons?
&lt;/h3&gt;

&lt;p&gt;Firstly, hackathon is an event where teams try to solve a problem and show a prototype in just a couple of days. That's an event when you sleep less than you use to.&lt;/p&gt;

&lt;p&gt;There are no doubts that hackathons are extremely useful when you are starting your career. But hackathons really are more than that. Here are couple of points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Train your ability to be tough and work hard&lt;/li&gt;
&lt;li&gt;Create new and great connections with other teams&lt;/li&gt;
&lt;li&gt;Have some fun with teammates and technologies&lt;/li&gt;
&lt;li&gt;Check how good you are in your field&lt;/li&gt;
&lt;li&gt;Learn new stuff very fast&lt;/li&gt;
&lt;li&gt;Get familiar with other solutions of the problem you've solved&lt;/li&gt;
&lt;li&gt;Win some goodies&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tips
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbjtfzb6y03fg80bcukw0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbjtfzb6y03fg80bcukw0.jpg" alt="Image description" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's discuss what should you do to get a better result and maybe even win. I have collected 10 tips:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start working even before the hackathon begins. And I mean, start thinking of the solution you are going to use. Create different paths, generate ideas and prepare the plan.&lt;/li&gt;
&lt;li&gt;Collect a perfect team for the task. If you need to develop an ML system and deploy it - you need both ML engineers and full stacks (at least). And every person should know what he is doing, you don't want to create a bottleneck.&lt;/li&gt;
&lt;li&gt;Choose a project which would be exiting for you and your team. You really want to be interested in the projects to get your best results.&lt;/li&gt;
&lt;li&gt;At the beginning of the hackathon, try to understand the task as clear as possible. That's a critical thing, because that you are going to base your solution on that understanding. I saw a lot of cases when the team didn't really get the task, or they forgot about some important part, which was critical for the business meaning of the task.&lt;/li&gt;
&lt;li&gt;If you can communicate with a mentor - present him your understanding and your plan, Be precise with what you are trying to achieve, so mentor can confirm that everything is fine.&lt;/li&gt;
&lt;li&gt;Try asking a mentor for a killer feature. Sometimes you might get some interesting idea which will help you to make a better solution.&lt;/li&gt;
&lt;li&gt;Work as hard as possible, do your best, don't spare yourself, you only need to work that hard for a day or two. After the finish, you are going to be happy that you did everything you could. Remember that every single, even tiny step can make you ahead of your opponents.&lt;/li&gt;
&lt;li&gt;Make sure to implement all needed features given by the instructions. Sometimes it's enough to show a solid but minimalistic solution. But it's a great idea to try and come up with some new feature which is going to be useful in that specific project. Think about the task as a business problem and try to add more value. Also try to think creative, because companies often organize hackathons if they need new and creative solutions.&lt;/li&gt;
&lt;li&gt;Create a short but great presentation. If you have a working solution - show it - that's always the best thing. Speaking about presentation. You should sound well, have a good image and talk involved. Remember, that on hackathons often is not enough time to create a full solution, that's why presentation is important. &lt;/li&gt;
&lt;li&gt;Finally, talk about things you would do if you had more time. Show how your solution can be scaled and implemented in real business cases. Let judges know that you are ready to continue with the project if hackathon organization is interested in that.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;To sum up, hackathons are a great place to test out your skills, learn new stuff, communicate with other specialists and widen your network. But don't forget to have some fun. You don't need to win every hackathon, so let yourself sometimes just to have fun.&lt;br&gt;
Highly recommend trying out yourself at the hackathon, that's a great experience!&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>How to choose right hardware for your Deep Learning machine</title>
      <dc:creator>Argo Saakyan</dc:creator>
      <pubDate>Mon, 26 Dec 2022 11:21:01 +0000</pubDate>
      <link>https://dev.to/argo_saakyan_9772ced462f6/how-to-choose-right-hardware-for-your-deep-learning-machine-38l8</link>
      <guid>https://dev.to/argo_saakyan_9772ced462f6/how-to-choose-right-hardware-for-your-deep-learning-machine-38l8</guid>
      <description>&lt;p&gt;Let's be honest, you can't do much deep learning without a computer. Sometimes you can use a laptop for light prototyping or google colab/kaggle for some more work, but if you do more work you will need dedicated machine or cloud service with GPU. I'm not going to touch here cloud services, but I want to dig into building your own rig.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1kmw7ur6ysy3cnslcfzm.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1kmw7ur6ysy3cnslcfzm.jpeg" alt="Image description" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Basics
&lt;/h3&gt;

&lt;p&gt;In this section, we will briefly discuss parts you need to build a PC. Feel free to skip it if you know PC structure. Here is what's needed to build a PC:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CPU - central processing unit&lt;/li&gt;
&lt;li&gt;Motherboard - helps parts to communicate, gives them needed power&lt;/li&gt;
&lt;li&gt;RAM - fast memory, used for keeping every opened app. Data is held while ram is powered&lt;/li&gt;
&lt;li&gt;Storage - used to store everything. Data is written and doesn't depend on PC being powered&lt;/li&gt;
&lt;li&gt;PSU - power supply unit. Powers everything&lt;/li&gt;
&lt;li&gt;GPU - graphical processing unit, main part for DL&lt;/li&gt;
&lt;li&gt;Case and cooling - a box to store and cool parts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To build a PC, you should:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install CPU into the socket on the motherboard&lt;/li&gt;
&lt;li&gt;Add thermal paste to the CPU and install CPU cooler&lt;/li&gt;
&lt;li&gt;Install RAM&lt;/li&gt;
&lt;li&gt;Install storage&lt;/li&gt;
&lt;li&gt;Put everything into the case&lt;/li&gt;
&lt;li&gt;Install power supply&lt;/li&gt;
&lt;li&gt;Install GPU&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Watch a tutorial on YouTube to see how it's done. It might seem hard, but believe me, it is not. Everyone can do that with a proper video guide.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deep Learning needs
&lt;/h3&gt;

&lt;p&gt;So for Deep Learning the most important part is a GPU, everything else is needed to serve our gpu. So you would want to spend most on your GPU. But let's start from the beginning:&lt;/p&gt;

&lt;h5&gt;
  
  
  CPU
&lt;/h5&gt;

&lt;p&gt;CPUs main 2 things are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How fast each core is&lt;/li&gt;
&lt;li&gt;How many cores there are&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We don't need a lot of performance from our CPU. It is used for preprocessing our data and keeping GPU fed. Mid-range last gen CPU would be just fine. CPUs are reliable and can work long-long years.&lt;br&gt;
Recommendations: AMD Ryzen 5, Intel Core i5&lt;/p&gt;

&lt;h5&gt;
  
  
  Motherboard
&lt;/h5&gt;

&lt;p&gt;Motherboards can be less reliable, and you might have some problems in 5+ years. Moreover, you might use your PC a lot more than a typical user, so it's a good idea to get a mid-range motherboard. You probably don't need fancy features, just don't get the cheapest one.&lt;br&gt;
Recommendations: Asus, MSI, ASRock, Gigabyte&lt;/p&gt;

&lt;h5&gt;
  
  
  RAM
&lt;/h5&gt;

&lt;p&gt;RAM is easy too. Its speed doesn't really matter for our task, so something reliable with decent speed is going to be just fine. What is important - amount of RAM. &lt;br&gt;
If you work with NLP - you would need a lot of it. Let's say 64gb is a mid-range. For Computer Vision, 32gb and more is ok if you work with 2D detection/segmentation. If you work with 3D, - 128 might not be enough sometimes.&lt;br&gt;
If you are just starting your journey in Deep Learning - you can get less RAM and easily upgrade later. So don't worry too much on these numbers.&lt;br&gt;
Recommendations: G-skill, Corsair&lt;/p&gt;

&lt;h5&gt;
  
  
  Storage
&lt;/h5&gt;

&lt;p&gt;We don't need fast storage, but as the main drive you would want to get a NVMe or SATA drive. As secondary storage, I would recommend SATA, but HDD should be fine too (NVMe is the fastest, HDD is the slowest)&lt;br&gt;
Recommendations: Samsung, Crucial, Sabrent&lt;/p&gt;

&lt;h5&gt;
  
  
  PSU
&lt;/h5&gt;

&lt;p&gt;Get a nice and reliable power supply. Don't recommend to cheap out here. Calculate deeded power based on your CPU and GPU power conception. Have a 20% overhead just in case.&lt;br&gt;
Recommendations: Seasonic, Corsair&lt;/p&gt;

&lt;h5&gt;
  
  
  Case and cooling
&lt;/h5&gt;

&lt;p&gt;Case doesn't really matter too. Just get a case with a good airflow. Cooling is important, as you are going to load your hardware for long runs, and insufficient cooling in the best case will lower your hardware capability (GPU and CPU will run slower) and kill it in the worst case.&lt;br&gt;
Recommendations: Fractal Design, Noctua...&lt;/p&gt;

&lt;h5&gt;
  
  
  GPU
&lt;/h5&gt;

&lt;p&gt;Finally we got to the main part. GPU is what we use for computations while training neural nets. We are going to discus only NVIDIA GPUs, because they are far ahead for Deep Learning now.&lt;/p&gt;

&lt;p&gt;Because of the architecture, GPUs are good for parallel computation, and that's what we need in Deep Learning. Basically, we need to do a lot of matrix/tensor multiplications, and that's exactly what Tensor Cores in Nvidia GPUs do. &lt;br&gt;
They are really fast, so we need memory to be fast too, so Tensor Cores are not idle. For example, I got 60% of "GPU Time Spent Accessing Memory" on a 3090 with GPU utilization just under 100%. That's about the speed. &lt;/p&gt;

&lt;p&gt;But you can't get much training done if your model or data doesn't fit in your GPU's VRAM. That's a third thing, and I recommend being careful with it. If you plan to study - 8gb should be enough. If you are working with Computer Vision and detection models - you probably will need 12gb and more. Sometimes it's better to get a slower card but with more VRAM, so you can train bigger models with bigger batch size. So, again, here is what's important in GPU specs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tensor Cores (for speed)&lt;/li&gt;
&lt;li&gt;Bandwidth (for speed)&lt;/li&gt;
&lt;li&gt;VRAM (for training bigger models with higher batch size)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would recommend getting newer cards, 30 series for example (for end of 2022). Take a look at 3060 with 12gb of VRAM. It's fast enough and has enough VRAM for different tasks.&lt;/p&gt;

&lt;p&gt;A4000 is also interesting, as it is a professional analogue of 3070 with 16gb of VRAM, lower clock speeds, lower TDP (it is quieter and uses less power) and it is more compact (it is also more expensive). If you are going to use your card 24/7, you should take a look to professional class models instead of consumer level. But in most cases, consumer level should be just fine.&lt;/p&gt;

&lt;p&gt;3080 is pretty fast, but has only 10gb of VRAM, so I don't really recommend it. On the other hand, 3080ti has 12gb, which is a little bit better. 4080 has 16gb of VRAM, but it seems to be overpriced for its performance, and you might be better to go to 3090/4090 strait.&lt;/p&gt;

&lt;p&gt;3090 with 24gb is great for any tasks, so 4090 is. If you can fit it into your case. And these models are also really expensive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I would love to give you a chart with price to performance, but I've looked through several different benchmarks and results are too diverse. Furthermore, there are no benchmarks for some newer cards as 4080, or less exciting card as 3060 (but don't get me wrong, 3060 is good choice). So all I can recommend for now is to look at VRAM, and cost, if you will get newer cards (more $ - more performance).&lt;br&gt;
If you really want to see some charts, you can have a look &lt;a href="https://lambdalabs.com/gpu-benchmarks" rel="noopener noreferrer"&gt;here&lt;/a&gt; or &lt;a href="https://www.pugetsystems.com/labs/hpc/nvidia-rtx4090-ml-ai-and-scientific-computing-performance-preliminary-2382/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. You can also read more about GPUs &lt;a href="https://timdettmers.com/2020/09/07/which-gpu-for-deep-learning/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
And here is an &lt;a href="https://pcpartpicker.com/list/NVYVQ6" rel="noopener noreferrer"&gt;example&lt;/a&gt; of a build.&lt;/p&gt;

</description>
      <category>redux</category>
    </item>
  </channel>
</rss>
