sehHeiden
Hi, I am currently looking for topics, for my master thesis in Data Science. All topics I came around so far were applied (and better of with Python for several reasons). But a year ago, I did a longer NX project. Applying several networks, and bit of scholar and Explorer. But since then the libraries enhanced. Hence, I am not 100 % up to date.
Things I often read, but was never able to try out myself is easy remote execution. Therefore, I thought about, how does the capabilities of Numerical compare to Spark. Given, that this a) doable, b) usable for others. Would be to add some capabilities.
From my understanding, currently a partioning and load sharing, especially for topics like joining does not exist. Also, there is no multicore capability?
I study data Science in part-time. Hence, my background is, currently 70% GIS (work), 30 % Data Science (studies), although there is a huge overlap between the two both in Python. (Doing also Data Science in GIS). Before that, I did Hardware programming in C (and studied Computer Engineering).
I am aware of the threads/posts:
I study data Science in parttime.
Hence, my idea is probably not the best?
Trending in Discussions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex










Showing Posts 1 to 7- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
billylanchantin
Hi @sehHeiden,
I think distributed, remote computation is very much of the minds of the Elixir Data Science community. Check out this Keynote from ElixirConf just a few weeks ago:
I’m sure there are ideas in this area that would be great for a Master’s Thesis.
sehHeiden
Thanks, @billylanchantin for sharing the video. So I interpret it as, most issues, I mentioned, are considered done?
Still got some questions for understanding the tech.
When I see, that here that I can use it with fly.io, or with k8, I am wondering what it costs to train a DL model[1]
or how easy it is, to set-up a local k8 cluster, compared to a spark cluster. At least, Spark clusters can set up with docker, I use sometimes. But never k8. Also in our small company don’t have anyone, ever done that. 
The other thing, it’s all multi-machine. But for example, having, multiprocessing is not mentioned. As having a longer calculation per row of a DataFrame, can reduce calculation time as in Dask. I just checked the Polars Doc that it can use multicore. So, I assume that’s also true for Explorer, although I have not found it in the doc.
I still, wonder how it also works, with an Explorer DataFrame partitioned, between several machines on a cluster. But that probably not enough for a thesis!?
Perhaps the GPU backend for Explorer. It is probably more work. Just how scientific work that is?
Okay, the CPU prices look good. Just the GPU prices… Well, you have to pay it yourself and spin up a larger cluster for hours. ↩︎
billylanchantin
You can do a version of distributed computation with FLAME + Explorer, sure. But is it done? Certainly not.
For instance, I doubt there exists a theoretical model for how data is processed in that setup (Though if I’m wrong, someone call me out!). Creating one is probably worthwhile. Then we could answer: what are the current limits of our processing capabilities? Can we be processing more? Could we introduce configuration settings that make certain workloads easier/faster/more efficient?
And that’s just off the top of my head. There are tons of open questions even in that one project.
It’s funny you mention that. FLAME + Explorer is just one example from this area. Let me send you to this LiveBook/Nx announcement from a year ago:
That link has this video at the top, and I’ll send you to a specific timestamp:
José says:
So in Nx also there is some pre-existing work. But again, I’d never describe the work as “done”.
Thanks, we should definitely be documenting that!
A new backend for Explorer would be a massive amount of work. And yeah I’m not sure it’s really appropriate for a Master’s thesis?
I personally know less about this. I don’t use DL much in my own work. Tutorials for this kind of thing would be incredibly valuable to the community, and I’m not sure if any exist.
christhekeele
@josevalim recently tweeted out:
Even if you don’t have a lot of experience with HPC, I bet even cursory attempts to survey the scene and publish comparisons with Elixir’s potential would be valuable!
FWIW, completely independently I interviewed some folk working on an HPC project a few months ago, to talk about applications of Elixir in their spaces. They were impressed with Elixir’s capabilities as a resilient, distributed orchestrator of embarrassingly parallelizable work; and intrigued by Nx. Primarily they had open questions about
Essentially, these are questions that existing HPC frameworks answer for them, albeit with a lot of fuss and headache in how they write their code, structure their programs, and serialize their data structures. Exploring things like Nx, Rustler, Zigler, and Broadway through this lens could make Elixir more accessible to the domain for future pioneers!
josevalim
This particular bit is not a concern because we use functional data structures to build a representation of the computation and then compile and execute that instead. So in many cases it can be more efficient, because there is less back and forth between Elixir and the native code doing the work.
christhekeele
yup, dispelling some of those traditional FP misunderstandings featured in our discussion quite a bit
ipnon
This is the hardest part of grad school in my opinion, deciding what to do. I can’t give any advice on Nx specifically, but I can give some general advice based on my experience. The best approach is usually to dive in to whatever project seems the coolest. Don’t worry about feasibility too much, pick the direction that excites you the most. Once you start actually writing code and putting the bits to the metal you’ll start to realize the strengths and weaknesses of your idea, and should iterate from that point.